MyTetra Share
Делитесь знаниями!
Cron: где находятся его файлы конфигурации, и как его настраивать
Время создания: 11.07.2019 00:20
Текстовые метки: linux, cron, демон, каталоги, конфигурация, настройка
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1562793640bs1rfp7c07/text.html на raw.github.com

Про демон crond написан, наверное, уже не один десяток статей. То, что я не открою Америку написав на эту тему пару строк - это факт. Но, тем не менее, очень кратко пару строк.

Демон crond стартует при запуске операционной системы. проконтролировать запущен ли он можно набрав команду:


ps aux | grep crond


если в выводе команды ps мы увидим строку вида:


root 2213 0.0 0.0 4540 1128 ? Ss Jun20 0:00 crond


значит демон crond запущен.

Работает он до безобразия просто.Есть такой файл /etc/crontab. В нем прописываются задания которые будут стартовать в определенное время. Формат такой:

  • сначала указывается время:

минута час день месяца месяц день недели, например:

0-59 0-23 1-31 1-12 0-7 (0 или 7 это Воскресенье)


  • затем - login пользователя от которого будет запускаться приложение
  • затем выполняемое задание причем обязательно с полным путем.

Например:

01 1 * * 0 root /home/backup/sql-back.sh > /dev/null 2>&1

В один час и одну минуту каждое воскресенье от имени пользователя root (и соответственно с его правами) запускается скрипт /home/backup/sql-back.sh (это самописаный бекап mysql)


Но это еще не совсем все.

Также в системе linux присутствует каталог /etc/cron.d. Если там присутствуют файлы имеющие такой же синтаксис, как и в файле /etc/crontab то задания из него будут выполняться тоже.


Но и это еще не все.

Также в системе существует папка /var/spool/cron где также могут храниться задания cron. Но их синтаксис немного отличается. Там не указывается логин пользователя от которого он будет запускаться. Логином является само имя файла.


Вообще-то для создания, редактирования и удаления заданий cron, которые находятся в этом каталоге существует специальная команда: crontab

  • Запущенная с ключем -e она редактирует существующее задание cron для данного пользователя либо создает новое задание, если его не было.
  • Запущенная с ключем -l выводит спикок заданий текущего пользователя на экран.
  • Запущенная с ключем -r удаляет задание cron текущего пользователя.


Внимание!

Также необхожимо упомянуть что после редактирования заданий кронтаб (не используя команду crontab) необходимо дать команду демону crond перечитать свои конфиги:

service crond reload

Или, в некоторых Linux-системах:

service cron reload

Ну вот теперь практически все, что касается демона crond.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования