Посмотреть CRON, автоматизация с /etc/cron.d

Посмотреть CRON задания можно через crontab от имени пользователя, для которого они заданы и в системном каталоге /etc/cron.d



Как посмотреть CRON задания

Для каждого пользователя посмотреть список заданий, выполняемых по расписанию можно выполнив crontab -l

 

root@site:/etc/cron.d# crontab -l | grep -v '#'

*/5 * * * * /opt/script.sh

 

Здесь и далее из вывода убираются все комментарии при помощи grep

 

Проделать это можно также для пользователей, для которых оболочки по умолчанию не установлено и авторизация не предполагается — например, для www-data

root@site:/etc/cron.d# su — www-data -s /bin/bash

www-data@site:~$ crontab -l

no crontab for www-data

 

 

Автоматизация добавления CRON заданий

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

 

root@site:~# cd /etc/cron.d

root@site:/etc/cron.d# ls

atop certbot php

 

 

Отличие при работе с /etc/cron.d только в том, что в задании указывается дополнительно имя пользователя, в примере это root

root@site:/etc/cron.d# cat php | grep -v '#'

09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

 

 

Также можно посмотреть скрипт для atop, интервал записи логов утилитой можно поменять не только в конфигурационном файле, но и прямо в crontab задании

посмотреть cron

 

Обязательна пуская строка после списка заданий каждого CRONTAB. Без нее установить расписание не удастся.

 

Скрипты в /etc/cron.d удобны тем, что позволяют автоматизировать работу. Какой-то сценарий может добавлять задания для определенных пользователей или перезаписывать их без участия администратора


 

cat task.sh > /etc/cron.d/task

Обязательны указание времени выполнения, имя пользователя, само задание и пробел в конце.

 

Про отладку CRON если задания не выполняются.

Запись опубликована автором в рубрике CRON.