diff options
Diffstat (limited to 'LINUX/CRON.md')
| -rw-r--r-- | LINUX/CRON.md | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/LINUX/CRON.md b/LINUX/CRON.md new file mode 100644 index 0000000..ca554dc --- /dev/null +++ b/LINUX/CRON.md @@ -0,0 +1,93 @@ +_www.crontab.guru_ + + + +```sh +systemctl status cron +crontab --help + +crontab -e # настройка для текущего пользователя +crontab -l # настройка для супер пользователя +crontab -r # удалить все задачи +``` + +**_минута_** **_час_** **_день_** **_месяц_** **_день_недели_** **_/путь/к/исполняемому/файлу_** +**обязательно нужно писать полный путь к команде** **_!_** +**Дата и время указываются с помощью цифр или символа ' * '.** +**интервал указывается «** **7-9** **»** +**несколько раз - «** **5,7,12 »** +**раз в 10 мин - « /10 »** + +****@reboot**** **- при загрузке, только один раз;** +****@yearly, @annually**** - раз год; +****@monthly**** - раз в месяц; +****@weekly**** - раз в неделю; +****@daily, @midnight**** - каждый день; +****@hourly**** - каждый час. + +команда запуска скрипта раз в час: + +`@hourly /usr/local/bin/serve` + +Если же вы собрались добавить скрипт в одну из папок, то, как я уже говорил, нужно чтобы его имя было без точек и у него были права на выполнение: + +`sudo vi /etc/corn.daily/basckup` + +`#!/bin/bash ......` + +смотрим лог cron. Иногда он находится в `/var/log/cron`, +а иногда пишется в syslog. + +`grep CRON /var/log/syslog` + +`sudo run-parts /etc/cron.daily/` + +Дальше вы увидите весь вывод, включая вывод скрипта и сможете быстро понять в чем проблема. + + +Можно еще отправлять результат работы скрипта на почту указав команду MAILTO=user@email.ru + +`tail /var/log/syslog` +-получаем "хвост", последние 10 строк лог-файла + +``` +@hourly rsync -avzhe ssh vlapa@178.20.46.157:/home/vlapa/git/ /home/vlapa/1Tb_r1-a/Backup/_git/ + +@hourly rsync -avzh /home/vlapa/300Gb/yaDisk/All-reports /home/vlapa/1Tb_r1-a/Backup/ + +@hourly rsync -avzh /home/vlapa/300Gb/yaDisk/Family /home/vlapa/1Tb_r1-a/Backup/ + +#@hourly rsync -avzh /home/vlapa/300Gb/yaDisk/_MY /home/vlapa/1Tb_r1-a/Backup/ +``` +⚙️ **Синтаксис** + +*`* * * * * команда + +Каждая звезда отвечает за время: + +• минуты +• часы +• дата +• месяц +• день недели + +`30 2 * * * /home/user/backup.sh + +Эта задача будет выполняться каждый день в 2:30. + +👀 **Просмотр и редактирование** + +• Чтобы редактировать cron-задачи, используйте: +`crontab -e + +• Чтобы увидеть текущие: +`crontab -l + +✍️ **Логирование cron-задач** +Важно отслеживать выполнение задач. Для этого можно записывать вывод задач в файл: + +`* * * * * /path/to/script.sh >> /var/log/cron.log 2>&1 + +2>&1 — это перенаправление стандартного потока ошибок (stderr) в тот же файл, что и стандартный вывод. То есть любые ошибки скрипта будут также записываться в файл cron.log + + |
