Как создать задачи расписания в Ubuntu для ежедневной/еженедельной/ежемесячной работы
Хотите запускать команду или сценарий ежедневно, еженедельно, ежемесячно или по другому заданному расписанию? В Ubuntu это легко сделать с помощью cron.
Cron — это планировщик заданий на основе времени, позволяющий периодически запускать команды или сценарии в фиксированное время, даты или интервалы. Обычно он используется для обслуживания или администрирования системы, хотя может быть полезен и для общих целей, например, для регулярной загрузки файлов из Интернета.
1. Отредактируйте файлы crontab:
Пользователи могут легко настроить задание cron, настроив файл crontab с помощью команды crontab. Он предварительно установлен в системах на базе Ubuntu. И у каждого пользователя есть свой файл конфигурации crontab.
b.) Запланировать задачу для текущего пользователя:
Чтобы запустить команду или сценарий текущим пользователем, просто откройте терминал из средства запуска системных приложений и выполните команду:
crontab -e
Впервые будет предложено выбрать редактор для редактирования файла конфигурации. Выберите тот, который вы предпочитаете, или нажмите Enter, чтобы использовать текстовый редактор nano по умолчанию.
b.) Если нужны права root или sudo:
Для команды или сценария требуются права sudo или root-пользователя, вместо этого вы можете запустить следующую команду:
sudo crontab -e
Он создаст (если не выйдет) или откроет файл конфигурации для пользователя root.
c.) Укажите пользователя для запуска задачи по расписанию:
Вы можете добавить флаг -u
, чтобы указать пользователя, например, ji.
sudo crontab -u ji -e
Пользователь может быть пользователем root, поэтому он будет делать то же самое с sudo crontab -e
:
sudo crontab -u root -e
2. Установите временной интервал, команду или сценарий для периодического запуска:
После запуска команды на шаге 1 открывается файл конфигурации в окне терминала (или командной консоли).
Теперь прокрутите вниз и добавьте новую строку:
* * * * * <command or script>
Первые 5 звездочек «*» обозначают время и дату, измените их соответствующим образом.
Примеры:
a.) Например, чтобы запустить скрипт Python3 в папке «Мои документы» в полночь (00:00) каждое воскресенье, используйте:
0 0 * * 0 python3 /home/ji/Documents/script.py
Здесь :
- первый 0 указывает минуту, используйте * для каждой минуты.
- второй 0 указывает час, используйте * для каждого часа.
- третий флаг * указывает день месяца, каждый день, если день недели не указан.
- четвертый флаг * говорит каждый месяц.
- пятый флаг (третий 0) указывает день недели. От 0 до 6 означают воскресенье-суббота.
b.) Запускайте команду echo "hello world!"
каждый день в 16:30, добавьте следующую строку:
30 16 * * * echo "hello world!"
c.) Вы можете использовать */n
для запуска каждого n-го интервала времени. И используйте несколько конкретных интервалов времени с запятыми.
Например, запускайте команду каждую пятницу в первый, второй, третий час каждые 5 минут (01:00, 01:05, 01:10, …, 02:00, 02:05, 02:10, …, 03: 55).
*/5 1,2,3 * * 5 echo "hello world!"
Наконец, сохраните файл конфигурации. Если вы редактировали файл с помощью nano, нажмите Ctrl+X на клавиатуре, введите y и нажмите Enter, чтобы сохранить его.