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 [2023/03/03 08:57]
val [Сервис cron]
планирование_выполнения_заданий_в_linux [2026/04/02 11:52] (current)
val
Line 4: Line 4:
  
   * [[Сервис ротации журналов]]   * [[Сервис ротации журналов]]
-  ​* [[Сервис Clamav#​Журнал]] сервиса Clamav +  * [[Управление ПО в Linux]] (автоматическое ​обновление)
-  ​* [[Управление ПО в Linux]] (обновление)+
   * [[Резервное копирование]]   * [[Резервное копирование]]
 ===== Сервис cron ===== ===== Сервис cron =====
Line 11: Line 10:
   * [[https://​ru.wikipedia.org/​wiki/​Cron|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]]   * [[https://​stackoverflow.com/​questions/​9049460/​cron-jobs-and-random-times-within-given-hours|Cron jobs and random times, within given hours]]
 +
   * [[Коды завершения#​Простая система мониторинга]]   * [[Коды завершения#​Простая система мониторинга]]
   * Сервис Git [[Сервис Git#​Пример с использованием cron]]   * Сервис Git [[Сервис Git#​Пример с использованием cron]]
   * Команда tar [[Команда tar#​Сценарий архивирования каталогов с использованием ssh]]   * Команда tar [[Команда tar#​Сценарий архивирования каталогов с использованием ssh]]
 +  * [[Сервис Ansible#​ansible-pull]]
  
 <​code>​ <​code>​
-crontab -e+crontab -e
  
-crontab -l+crontab -l
 </​code><​code>​ </​code><​code>​
 # m h  dom mon dow   ​command # m h  dom mon dow   ​command
-5-59/10 * * * * /​etc/​backup.sh+#5-59/10 * * * * /​etc/​backup.sh ​  # crontab from root
  
 */5 * * * * test $(LANG= top -b -n 1 | grep Cpu | cut -d':'​ -f2 | cut -d. -f1) -gt 60 && ( date; ps awux ) >> /​tmp/​ps_cpu_hi.log */5 * * * * test $(LANG= top -b -n 1 | grep Cpu | cut -d':'​ -f2 | cut -d. -f1) -gt 60 && ( date; ps awux ) >> /​tmp/​ps_cpu_hi.log
-</​code>​+</​code>​<​code>​ 
 +$ ls /​var/​spool/​cron/​
  
-  * [[Сервис Ansible#​ansible-pull]] +crontab -r
- +
-<​code>​ +
-# ls /​var/​spool/​cron/​ +
- +
-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 63: Line 60:
 # ls /​var/​spool/​anacron # ls /​var/​spool/​anacron
 </​code>​ </​code>​
 +
 +===== Systemd timers =====
 +
 +  * [[https://​habr.com/​ru/​companies/​ruvds/​articles/​512868/​|Использование таймеров systemd вместо заданий cron]]
 +  * [[https://​wiki.archlinux.org/​title/​Systemd/​Timers]]
 +  * [[Let'​s Encrypt для внутренних сайтов]]
 +
 +<​code>​
 +# systemctl list-timers
 +
 +# cat /​etc/​systemd/​system/​mybackup.service
 +</​code><​code>​
 +[Unit]
 +Description=My Backup
 +After=network.target
 +
 +[Service]
 +Type=oneshot
 +ExecStart=/​etc/​mybackup.sh
 +</​code><​code>​
 +# systemctl start mybackup.service
 +
 +# systemd-analyze calendar "*-*-* 3:​45:​00"​
 +
 +# cat /​etc/​systemd/​system/​mybackup.timer
 +</​code><​code>​
 +[Unit]
 +Description=Timer for My Backup
 +
 +[Timer]
 +OnCalendar=*-*-* *:*:00
 +#​OnCalendar=*-*-* 03:45:00
 +#​OnCalendar=Sat *-*-* 03:45:00
 +#​OnCalendar=*-*-1 03:45:00
 +#​Persistent=true
 +
 +Unit=mybackup.service
 +
 +[Install]
 +WantedBy=timers.target
 +</​code><​code>​
 +# systemctl daemon-reload
 +
 +# systemctl enable mybackup.timer --now
 +
 +# journalctl -u mybackup.timer
 +
 +# journalctl -u mybackup.service
 +</​code>​
 +
  
планирование_выполнения_заданий_в_linux.1677823039.txt.gz · Last modified: 2023/03/03 08:57 by val