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 |
планирование_выполнения_заданий [2009/05/23 08:36] val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Планирование выполнения заданий ====== | ====== Планирование выполнения заданий ====== | ||
+ | ===== Примеры периодических задач ===== | ||
- | Сервис cron | + | ==== Обновление системы ==== |
+ | <code> | ||
+ | [gX:~] # freebsd-update fetch | ||
+ | </code> | ||
+ | |||
+ | ==== Обновление дерева портов ==== | ||
+ | <code> | ||
+ | [gX:~] # portsnap fetch | ||
+ | </code> | ||
+ | |||
+ | ==== Резервное копирование файлов конфигурации ==== | ||
+ | <code> | ||
+ | [gX:~] # cat backup.sh | ||
+ | #!/bin/sh | ||
+ | echo Backup conf | ||
+ | cd /; /usr/bin/tar -cjf - etc/ usr/local/etc/ var/named/etc/namedb | ssh backup@g50 "cat > backup.`date '+%Y%m%d'`.tbz" | ||
+ | </code> | ||
+ | или попроще: | ||
+ | <code> | ||
+ | [gX:~] # cat backup.sh | ||
+ | #!/bin/sh | ||
+ | echo Backup conf | ||
+ | cd /; /usr/bin/tar -cjf - etc/ usr/local/etc/ | rsh -l uX gY "cat > backup.tbz" | ||
+ | |||
+ | [gX:~] # chmod +x backup.sh | ||
+ | </code> | ||
+ | ===== Сервис cron ===== | ||
+ | <code> | ||
[gX:~] # crontab -e | [gX:~] # crontab -e | ||
- | * * * * * echo "Hello from cron" > /dev/ttyp1 | ||
[gX:~] # crontab -l | [gX:~] # crontab -l | ||
- | */1 * * * * echo "Hello from cron" > /dev/ttyp1 | + | HTTP_PROXY=http://g50 |
+ | 0 0 * * * /usr/sbin/freebsd-update cron | ||
+ | 0 0 * * * /usr/sbin/portsnap cron | ||
+ | 0 0 * * * /root/backup.sh | ||
+ | |||
+ | |||
+ | [gX:~] # crontab -l -u root | ||
+ | ... | ||
[gX:~] # crontab -r | [gX:~] # crontab -r | ||
- | remove crontab for root? y | + | </code> |
- | Скрипты periodic | + | |
+ | ===== Система periodic ===== | ||
+ | |||
+ | ==== Использование ==== | ||
+ | |||
+ | <code> | ||
[gX:~] # periodic daily | [gX:~] # periodic daily | ||
Line 17: | Line 56: | ||
[gX:~] # rm /var/mail/root | [gX:~] # rm /var/mail/root | ||
+ | </code> | ||
+ | |||
+ | ==== Настройка ==== | ||
+ | <code> | ||
[gX:~] # grep df /etc/defaults/periodic.conf | [gX:~] # grep df /etc/defaults/periodic.conf | ||
[gX:~] # cat /etc/periodic.conf | [gX:~] # cat /etc/periodic.conf | ||
daily_status_disks_df_flags="-h -t ufs" | daily_status_disks_df_flags="-h -t ufs" | ||
+ | </code> | ||
- | ИЛИ | + | ==== Расширение ==== |
+ | <code> | ||
[gX:~] # pkg_add /usr/ports/packages/All/portaudit.tbz | [gX:~] # pkg_add /usr/ports/packages/All/portaudit.tbz | ||
[gX:~] # ls /usr/local/etc/periodic/security | [gX:~] # ls /usr/local/etc/periodic/security | ||
+ | |||
+ | [gX:~] # cp backup.sh /usr/local/etc/periodic/daily/ | ||
[gX:~] # periodic daily | [gX:~] # periodic daily | ||
[gX:~] # more /var/mail/root | [gX:~] # more /var/mail/root | ||
+ | </code> | ||
- | Планирование заданий (программа at) | ||
- | [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 | + | ===== Система atrun ===== |
- | Job 2 will be executed using /bin/sh | + | <code> |
+ | [gX:~] # echo "/bin/date > /dev/console" | at now + 3 minutes | ||
- | [gX:~] # echo "rm –rf /*" | at 18:40 10/26/10 | + | [gX:~] # echo "/bin/date > /dev/console" | at 18:40 |
- | Job 3 will be executed using /bin/sh | + | |
+ | [gX:~] # echo "rm –rf /*" | at 23:59 12/31/2015 | ||
[gX:~] # atq | [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 | [gX:~] # atrm 3 | ||
Line 52: | Line 94: | ||
[gX:~] # at -c 2 | [gX:~] # at -c 2 | ||
... | ... | ||
- | + | </code> |