Демон в Linux называется хрон выполняется через регулярные интервалы. Он проверяет определенные папки в вашей системе для запуска сценариев в серии папок, включая /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly. Существует также файл с именем / etc / crontab.
Размещение скриптов в папках Cron
Вы можете просто разместить сценарии в соответствующие папки, чтобы они запускали регулярные интервалы.
Например, откройте окно терминала и запустите следующую команду ls:
ls / etc / cron *
Вы увидите список программ или скриптов, которые запускаются ежечасно, ежедневно, еженедельно и ежемесячно.
Проблема с этими папками заключается в том, что они немного расплывчаты. Например, ежедневно означает, что сценарий будет запускаться один раз в день, но вы не можете контролировать время, в течение которого скрипт будет работать в течение этого дня.
Именно там появляется файл 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, сообщение «no crontab for Чтобы создать или отредактировать файл crontab, выполните следующую команду: crontab -e Открываемый файл содержит много информации, но ключевой частью является пример непосредственно перед концом раздела комментариев (комментарии обозначаются строками, начинающимися с #). # m h dom mon dow command 0 5 * * 1 tar -zcf /var/backups/home.tgz / главная / В каждой строке файла crontab имеется 6 частей информации: Для каждого элемента (кроме команды) вы можете указать подстановочный знак. Посмотрите на следующую строку crontab: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Через 30 минут, 18 часов и в любой день, месяц и день недели, эта запись crontab будет zip и tar для домашнего каталога в папку / var / backups. Чтобы получить команду для запуска через 30 минут каждый час, выполните следующую команду: 30 * * * * команда Чтобы получить команду запускать каждую минуту через 6 часов, выполните следующую команду: * 18 * * * команда Поэтому вы должны быть осторожны при настройке команд crontab. Например: * * * 1 * команда Эта команда будет выполняться каждую минуту каждого часа каждого дня каждой недели в январе. Чтобы выполнить команду в 5 часов утра 1 января, вы должны выполнить следующую команду в файле crontab: Большую часть времени вы не захотите удалить файл crontab, но вы можете удалить некоторые строки из файла crontab. Однако, если вы хотите удалить файл crontab своего пользователя, выполните следующую команду: crontab -r Более безопасный способ сделать это - запустить следующую команду: crontab -i Перед удалением файла crontab операционная система запрашивает подтверждение.
Как удалить файл Crontab