Как отредактировать файл Linux Crontab для планирования заданий

click fraud protection

Что нужно знать

  • Отобразите содержимое crontab с помощью: crontab -l
  • Отредактируйте crontab с помощью: crontab -e
  • Тайминг работает с: минута, час, день месяца, месяц, день недели. Используйте звездочку (*) запускать cron каждый день, час и т. д.

В этой статье объясняется, как использовать cron, демон в Linux, который запускает процессы через регулярные промежутки времени. Он проверяет определенные папки в системе на предмет запуска скриптов в ряде папок, включая /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly; есть также файл с именем / etc / crontab.

Поместите скрипты в папки Cron

Поместите сценарии в соответствующие папки, чтобы они запускались через регулярные промежутки времени. Например, откройте окно терминала и запустите следующее команда ls:

ls / и т. д. / cron *

Команда выводит список программ или сценариев, которые запускаются ежечасно, ежедневно, еженедельно и ежемесячно.

Список cron в Linux

Эти папки расплывчаты. Например, ежедневно означает, что сценарий запускается один раз в день, но вы не можете контролировать время, в течение которого сценарий запускается в течение этого дня.

Вот тут-то и пригодится файл crontab. Редактируя файл crontab, вы запускаете сценарий или программу в точную дату и время, когда вы хотите, чтобы они запускались.

Разрешения

Команда crontab требует, чтобы у пользователя было разрешение на редактирование файла crontab. Есть два файла, которые управляют разрешениями crontab: /etc/cron.allow и /etc/cron.deny.

  • Если файл /etc/cron.allow существует, пользователь, который хочет редактировать файл crontab, должен быть указан в этом файле.
  • Если файл cron.allow не существует, но есть файл /etc/cron.deny, пользователь не должен существовать в этом файле.
  • Если оба файла существуют, файл /etc/cron.allow переопределяет файл /etc/cron.deny.
  • Если ни один файл не существует, это зависит от конфигурации системы, может ли пользователь редактировать crontab.

Пользователь root всегда может редактировать файл crontab. Вы можете использовать команда su переключиться на пользователя root или команда sudo для запуска команды crontab.

Отредактируйте файл Crontab

Каждый пользователь, имеющий соответствующие разрешения, может создать файл crontab. Команда cron ищет все файлы crontab и просматривает каждый файл.

Чтобы проверить, есть ли у вас файл crontab, выполните следующую команду:

crontab -l. 

Если у вас нет файла crontab, сообщение нет crontab для отображается, иначе отобразится ваш файл crontab.

Эта функциональность отличается от системы к системе. Иногда он вообще ничего не отображает, а иногда отображает не редактируйте этот файл.

Список crontab Linux

Чтобы создать или отредактировать файл crontab, выполните следующую команду:

crontab -e. 

В открывшемся файле содержится много информации, но ключевой частью является пример перед концом раздела комментариев (комментарии обозначаются строками, начинающимися с #).

# m h dom mon dow команда. 
0 5 * * 1 tar -zcf /var/backups/home.tgz / home /
Linux править crontab

В каждой строке файла crontab можно разместить шесть частей информации:

  • Минута дня, когда команда должна выполняться (m).
  • Час дня, в который должна выполняться команда (h).
  • День месяца, в котором должна выполняться команда (dom).
  • Месяц, в котором должна выполняться команда (пн).
  • День недели, когда команда запускается (доу).
  • Команда.

Для каждого элемента (кроме команды) можно указать подстановочный знак. Взгляните на следующий пример строки crontab:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Через 30 минут, 18 часов и в любой день, месяц и день недели эта запись crontab будет застегивать а также деготь домашний каталог в папку / var / backups.

В приведенных ниже примерах замените слово команда командой, которую хотите запустить.

Чтобы команда запускалась через 30 минут каждый час, выполните следующую команду:

30 * * * * команда. 

Чтобы команда запускалась каждую минуту после 18:00, выполните следующую команду:

* 18 * * * команда. 

Следовательно, вы должны быть осторожны при настройке команд crontab.

Например:

* * * 1 * команда. 

Эта команда запускается каждую минуту каждого часа каждого дня недели в январе.

Чтобы запустить команду в 5 часов утра 1 января, введите следующую команду в файл crontab:

0 5 1 1 * команда. 

Как удалить файл Crontab

В большинстве случаев вам не нужно удалять файл crontab. Однако вы можете удалить некоторые строки из файла crontab.

Чтобы удалить файл crontab вашего пользователя, выполните следующую команду:

crontab -r. 

Более безопасный способ сделать это - выполнить следующую команду:

crontab -i. 

Операционная система запрашивает проверку перед удалением файла crontab.