This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
планирование_выполнения_заданий [2009/03/11 12:06] val created |
планирование_выполнения_заданий [2011/02/21 17:38] val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Планирование выполнения заданий ====== | ====== Планирование выполнения заданий ====== | ||
- | Сервис cron | + | ===== Примеры периодических задач ===== |
- | [gX:~] # crontab -e | + | |
- | * * * * * echo "Hello from cron" > /dev/ttyp1 | + | |
- | [gX:~] # crontab -l | + | ==== Ротация файлов регистрации ==== |
- | */1 * * * * echo "Hello from cron" > /dev/ttyp1 | + | <code> |
+ | # cat /etc/newsyslog.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | /var/log/clamd.log 600 7 10 * J | ||
+ | /var/log/httpd-access.log 644 10 1000 * JC /var/run/httpd.pid 30 | ||
+ | /var/log/httpd-error.log 644 10 1000 * JC /var/run/httpd.pid 30 | ||
+ | /var/log/httpd-ssl_request.log 644 10 1000 * JC /var/run/httpd.pid 30 | ||
+ | </code><code> | ||
+ | # cat logger.sh | ||
+ | </code><code> | ||
+ | while : | ||
+ | do | ||
+ | logger -t clamd -p local7.info "Message 1" | ||
+ | logger -t clamd -p local7.info "Message 2" | ||
+ | done | ||
+ | </code><code> | ||
+ | # sh logger.sh | ||
+ | ... | ||
+ | <Ctrl>-C | ||
- | [gX:~] # crontab -r | + | # tail -f /var/log/clamd.log |
- | remove crontab for root? y | + | ... |
- | Скрипты periodic | + | <Ctrl>-C |
- | [gX:~] # periodic daily | + | |
- | [gX:~] # more /var/mail/root | + | # newsyslog |
- | [gX:~] # rm /var/mail/root | + | # ls -l /var/log/clamd.log* |
+ | </code> | ||
- | [gX:~] # grep df /etc/defaults/periodic.conf | + | ==== Обновление системы ==== |
+ | <code> | ||
+ | # freebsd-update fetch | ||
+ | </code> | ||
- | [gX:~] # cat /etc/periodic.conf | + | ==== Обновление дерева портов ==== |
- | daily_status_disks_df_flags="-h -t ufs" | + | <code> |
+ | # portsnap fetch | ||
+ | </code> | ||
- | ИЛИ | + | ==== Резервное копирование файлов конфигурации ==== |
+ | <code> | ||
+ | # cat backup.sh | ||
+ | #!/bin/sh | ||
+ | echo Backup conf | ||
+ | cd /; /usr/bin/tar -cjf - etc/ usr/local/etc/ var/named/etc/namedb | ssh userX@isp "cat > backup.`date '+%Y%m%d'`.tbz" | ||
+ | </code> | ||
+ | или попроще: | ||
+ | <code> | ||
+ | # cat backup.sh | ||
+ | #!/bin/sh | ||
+ | echo Backup conf | ||
+ | cd /; /usr/bin/tar -cjf - etc/ usr/local/etc/ | rsh -l userX isp "cat > backup.tbz" | ||
- | [gX:~] # pkg_add /usr/ports/packages/All/portaudit.tbz | + | # chmod +x backup.sh |
+ | </code> | ||
+ | ===== Сервис cron ===== | ||
+ | <code> | ||
+ | # cat /etc/crontab | ||
+ | ... | ||
- | [gX:~] # ls /usr/local/etc/periodic/security | + | # crontab -e |
- | [gX:~] # periodic daily | + | # crontab -l |
+ | 0 0 * * * /usr/sbin/freebsd-update cron | ||
+ | 0 0 * * * /usr/sbin/portsnap cron | ||
+ | 0 0 * * * /root/backup.sh | ||
- | [gX:~] # more /var/mail/root | ||
- | Планирование заданий (программа at) | + | # crontab -l -u root |
- | [gX:~] # echo "echo Hello from at > /dev/ttyp1" | at now + 3 minutes | + | ... |
- | Job 1 will be executed using /bin/sh | + | |
- | [gX:~] # echo "echo Hello from at > /dev/ttyp1" | at 18:40 | + | # crontab -r |
- | Job 2 will be executed using /bin/sh | + | </code> |
- | [gX:~] # echo "rm –rf /*" | at 18:40 10/26/10 | + | ===== Система periodic ===== |
- | Job 3 will be executed using /bin/sh | + | |
- | [gX:~] # atq | + | ==== Использование ==== |
- | Date Owner Queue Job# | + | |
- | Tue Oct 25 19:27:00 UTC 2005 root c 1 | + | |
- | Wed Oct 26 18:40:00 UTC 2005 root c 2 | + | |
- | Wed Oct 26 18:40:00 UTC 2006 root c 3 | + | |
- | [gX:~] # atrm 3 | + | <code> |
+ | # periodic daily | ||
- | [gX:~] # at -c 2 | + | # more /var/mail/root |
- | ... | + | |
+ | # rm /var/mail/root | ||
+ | </code> | ||
+ | ==== Настройка ==== | ||
+ | <code> | ||
+ | # grep df /etc/defaults/periodic.conf | ||
+ | |||
+ | # cat /etc/periodic.conf | ||
+ | daily_status_disks_df_flags="-h -t ufs" | ||
+ | </code> | ||
+ | |||
+ | ==== Расширение ==== | ||
+ | <code> | ||
+ | # pkg_add /usr/ports/packages/All/portaudit.tbz | ||
+ | |||
+ | # ls /usr/local/etc/periodic/security | ||
+ | |||
+ | # cp backup.sh /usr/local/etc/periodic/daily/ | ||
+ | |||
+ | # periodic daily | ||
+ | |||
+ | # more /var/mail/root | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Система atrun ===== | ||
+ | <code> | ||
+ | # echo "/bin/date > /dev/console" | at now + 3 minutes | ||
+ | |||
+ | # echo "/bin/date > /dev/console" | at 18:40 | ||
+ | |||
+ | # echo "rm –rf /*" | at 23:59 12/31/2015 | ||
+ | |||
+ | # atq | ||
+ | |||
+ | # atrm 3 | ||
+ | |||
+ | # at -c 2 | ||
+ | ... | ||
+ | </code> |