User Tools

Site Tools


планирование_выполнения_заданий_в_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
планирование_выполнения_заданий_в_linux [2011/02/24 10:28]
val
планирование_выполнения_заданий_в_linux [2026/04/02 11:52] (current)
val
Line 1: Line 1:
 ====== Планирование выполнения заданий в Linux ====== ====== Планирование выполнения заданий в Linux ======
- 
-[[https://​help.ubuntu.com/​community/​CronHowto]] 
  
 ===== Примеры периодических задач ===== ===== Примеры периодических задач =====
  
-==== Ротация файлов регистрации (logrotate) ====+  * [[Сервис ротации журналов]] 
 +  * [[Управление ПО в Linux]] (автоматическое обновление) 
 +  * [[Резервное копирование]] 
 +===== Сервис cron ===== 
 + 
 +  * [[https://​ru.wikipedia.org/​wiki/​Cron|cron - Материал из Википедии]] 
 +  * [[https://​stackoverflow.com/​questions/​9049460/​cron-jobs-and-random-times-within-given-hours|Cron jobs and random times, within given hours]] 
 + 
 +  * [[Коды завершения#​Простая система мониторинга]] 
 +  * Сервис Git [[Сервис Git#​Пример с использованием cron]] 
 +  * Команда tar [[Команда tar#​Сценарий архивирования каталогов с использованием ssh]] 
 +  * [[Сервис Ansible#​ansible-pull]]
  
-=== Глобальная настройка logrotate === 
 <​code>​ <​code>​
-# cat /​etc/​logrotate.conf +$ crontab -e
-... +
-include /​etc/​logrotate.d +
-... +
-</​code>​+
  
-=== Настройка logrotate для сервиса clamd по умолчанию === +$ crontab ​-l
-<​code>​ +
-# cat /​etc/​logrotate.d/​clamav-daemon+
 </​code><​code>​ </​code><​code>​
-/​var/​log/​clamav/​clamav.log { +# m h  dom mon dow   ​command 
-     rotate 12 +#5-59/10 * * * * /etc/backup.sh   # crontab from root
-     ​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 для для архивирования лог сообщений поступающих из сети === +*/5 * * * * test $(LANGtop -b -n 1 | grep Cpu | cut -d':'​ -f2 | cut -d. -f1) -gt 60 && ( date; ps awux ) >> /tmp/ps_cpu_hi.log
-<code> +
-# cat /etc/logrotate.d/cisco+
 </​code><​code>​ </​code><​code>​
-/​var/​log/​cisco.log { +ls /var/spool/cron/
-     ​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>​ +
-# crontab -e +
- +
-# crontab -l +
-# m h  dom mon dow   ​command +
-*/5 * * * * /root/backup_conf.sh+
  
-crontab -r+crontab -r
 </​code>​ </​code>​
  
 ===== Скрипт run-parts ===== ===== Скрипт run-parts =====
 <​code>​ <​code>​
-cat /​etc/​crontab+more /​etc/​crontab
 ... ...
  
 # !!!! Don't work with .sh !!!! # !!!! Don't work with .sh !!!!
-cp /root/backup_conf.sh /​etc/​cron.daily/​backupconf+mv /etc/mybackup.sh /​etc/​cron.daily/​mybackup
  
 # run-parts --report /​etc/​cron.daily # run-parts --report /​etc/​cron.daily
Line 114: Line 43:
  
 ===== Система 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 129: Line 61:
 </​code>​ </​code>​
  
-===== Система atrun =====+===== Systemd timers ​===== 
 + 
 +  * [[https://​habr.com/​ru/​companies/​ruvds/​articles/​512868/​|Использование таймеров systemd вместо заданий cron]] 
 +  * [[https://​wiki.archlinux.org/​title/​Systemd/​Timers]] 
 +  * [[Let'​s Encrypt для внутренних сайтов]] 
 <​code>​ <​code>​
-ls /​etc/​init/​atd.conf+systemctl list-timers
  
-echo "Hello from at `tty`" | at now + 3 minutes+cat /​etc/​systemd/​system/​mybackup.service 
 +</code><​code>​ 
 +[Unit] 
 +Description=My Backup 
 +After=network.target
  
-# echo "Hello from at `tty`" | at 18:40+[Service] 
 +Type=oneshot 
 +ExecStart=/​etc/​mybackup.sh 
 +</code><​code>​ 
 +# systemctl start mybackup.service
  
-echo "rm –rf /*" | at 23:59 12/31/2015+systemd-analyze calendar ​"*-*-* 3:45:​00"​ 
 + 
 +# cat /​etc/​systemd/​system/mybackup.timer 
 +</code><​code>​ 
 +[Unit] 
 +Description=Timer for My Backup
  
-atq+[Timer] 
 +OnCalendar=*-*-* *:*:00 
 +#OnCalendar=*-*-* 03:45:00 
 +#​OnCalendar=Sat *-*-* 03:45:00 
 +#​OnCalendar=*-*-1 03:45:00 
 +#​Persistent=true
  
-# atrm 3+Unit=mybackup.service
  
-at -c 2 +[Install] 
-...+WantedBy=timers.target 
 +</​code><​code>​ 
 +systemctl daemon-reload 
 + 
 +# systemctl enable mybackup.timer --now 
 + 
 +# journalctl -u mybackup.timer 
 + 
 +# journalctl -u mybackup.service
 </​code>​ </​code>​
 +
 +
планирование_выполнения_заданий_в_linux.1298532510.txt.gz · Last modified: 2013/05/22 13:50 (external edit)