summaryrefslogtreecommitdiff
path: root/LINUX/CRON.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/CRON.md
First
Diffstat (limited to 'LINUX/CRON.md')
-rw-r--r--LINUX/CRON.md93
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
+
+