This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
планирование_выполнения_заданий_в_linux [2011/03/04 09:42] val |
планирование_выполнения_заданий_в_linux [2021/10/04 13:25] val [Сервис cron] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Планирование выполнения заданий в Linux ====== | ====== Планирование выполнения заданий в Linux ====== | ||
- | |||
- | [[https://help.ubuntu.com/community/CronHowto]] | ||
===== Примеры периодических задач ===== | ===== Примеры периодических задач ===== | ||
- | ==== Ротация файлов регистрации (logrotate) ==== | + | * [[Сервис ротации журналов]] |
+ | * [[Сервис Clamav#Журнал]] сервиса Clamav | ||
+ | * [[Управление ПО в Linux]] (обновление) | ||
+ | * [[Резервное копирование]] | ||
+ | ===== Сервис cron ===== | ||
- | === Глобальная настройка logrotate === | + | * [[https://ru.wikipedia.org/wiki/Cron|cron - Материал из Википедии]] |
- | <code> | + | * [[Коды завершения#Простая система мониторинга]] |
- | # cat /etc/logrotate.conf | + | * Сервис Git [[Сервис Git#Пример с использованием cron]] |
- | ... | + | |
- | include /etc/logrotate.d | + | |
- | ... | + | |
- | </code> | + | |
- | === Настройка logrotate для сервиса clamd по умолчанию === | ||
- | <code> | ||
- | # cat /etc/logrotate.d/clamav-daemon | ||
- | </code><code> | ||
- | /var/log/clamav/clamav.log { | ||
- | rotate 12 | ||
- | weekly | ||
- | compress | ||
- | delaycompress | ||
- | create 640 clamav adm | ||
- | postrotate | ||
- | /etc/init.d/clamav-daemon reload-log > /dev/null | ||
- | endscript | ||
- | } | ||
- | </code><code> | ||
- | # cat /etc/init.d/clamav-daemon | ||
- | </code><code> | ||
- | ... | ||
- | . /lib/lsb/init-functions | ||
- | ... | ||
- | [ -n "$THEPIDFILE" ] || THEPIDFILE='/var/run/clamav/clamd.pid' | ||
- | ... | ||
- | CLAMDPID=`pidofproc -p $THEPIDFILE $DAEMON` | ||
- | ... | ||
- | reload-log) | ||
- | OPTIND=1 | ||
- | log_daemon_msg "Reloading log file for $DESC" "$NAME" | ||
- | if [ "$RUNNING" = 0 ] && [ -n "$CLAMDPID" ]; then | ||
- | kill -HUP $CLAMDPID | ||
- | fi | ||
- | ... | ||
- | </code> | ||
- | |||
- | === Настройка logrotate для для архивирования лог сообщений поступающих из сети === | ||
- | <code> | ||
- | # cat /etc/logrotate.d/cisco | ||
- | </code><code> | ||
- | /var/log/cisco.log { | ||
- | rotate 5 | ||
- | size 100k | ||
- | compress | ||
- | create 640 syslog adm | ||
- | postrotate | ||
- | reload rsyslog >/dev/null 2>&1 || true | ||
- | endscript | ||
- | } | ||
- | </code><code> | ||
- | # cat cisco_log_gen.sh | ||
- | </code><code> | ||
- | while : | ||
- | do | ||
- | logger -t cisco -p local0.info "Message 1" | ||
- | logger -t cisco -p local0.info "Message 2" | ||
- | done | ||
- | </code><code> | ||
- | # sh cisco_log_gen.sh | ||
- | ... | ||
- | <Ctrl>-C | ||
- | |||
- | # tail -f /var/log/cisco.log | ||
- | ... | ||
- | <Ctrl>-C | ||
- | |||
- | # logrotate /etc/logrotate.conf | ||
- | |||
- | # ls -l /var/log/cisco.log* | ||
- | </code> | ||
- | |||
- | ==== Обновление системы ==== | ||
- | |||
- | [[https://help.ubuntu.com/community/AutoWeeklyUpdateHowTo]] | ||
- | |||
- | ==== Резервное копирование ==== | ||
- | |||
- | ===== Сервис cron ===== | ||
<code> | <code> | ||
# crontab -e | # crontab -e | ||
Line 95: | Line 18: | ||
# crontab -l | # crontab -l | ||
# m h dom mon dow command | # m h dom mon dow command | ||
- | */5 * * * * /root/backup_conf.sh | + | */5 * * * * test `top -b -n 1 | grep Cpu | cut -d':' -f2 | cut -d. -f1` -gt 60 && ( date; ps awux ) >> /tmp/ps_cpu_hi.log |
+ | 5-59/10 * * * * /etc/backup.sh | ||
# crontab -r | # crontab -r | ||
Line 112: | Line 36: | ||
===== Система anacron ===== | ===== Система anacron ===== | ||
+ | |||
+ | * [[https://ru.wikipedia.org/wiki/Anacron|асинхронный или анахроничный cron]] | ||
+ | |||
<code> | <code> | ||
# cat /etc/crontab | # cat /etc/crontab | ||
- | # apt-get install anacron | + | # apt install anacron |
# man anacrontab | # man anacrontab | ||
Line 127: | Line 54: | ||
</code> | </code> | ||
- | ===== Система atrun ===== | ||
- | <code> | ||
- | # ls /etc/init/atd.conf | ||
- | |||
- | # echo "Hello from at > `tty`" | at now + 3 minutes | ||
- | |||
- | # echo "Hello from at > `tty`" | at 18:40 | ||
- | |||
- | # echo "rm –rf /*" | at 23:59 12/31/2015 | ||
- | |||
- | # atq | ||
- | |||
- | # atrm 3 | ||
- | |||
- | # at -c 2 | ||
- | ... | ||
- | </code> |