Содержание

Запуск скрипта по расписанию

Экспорт в PDF Преобразовать страницу в формат Open Document

Дата создания: 2024/05/13 02:48 (C) mihanik

Дано

Есть некоторый скрипт автоматизирующий некоторые действия.

Надо

Запускать этот скрипт по определённому расписанию.

Решение

Предположим, что наш скрипт имеет имя /opt/scripts/MyScript.sh .

Шаг 1

Открываем терминал.

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

При помощи команды

sudo su

становимся суперпользователем root.

Шаг 2

Начинаем редактировать задачи планировщика Linux при помощи команды

crontab -e

Откроется окно со списком запланированных задач. Список задач - это обычный текстовый файл.

Важно!
Список задач может быть пустым.

Шаг 3

В конце файла добавляем новое задание

1 0 * * * /opt/scripts/MyScript.sh

Это задание будет выполняться каждый день в 0 часов 1 минуту.

Важно!
В конце строки обязательно нажимаем клавишу <Enter> чтобы ниже добавленной строки была новая пустая строчка.

Шаг 4

Сохраняем изменения и выходим из текстового редактора.

Видим, что было добавлено новое задание.

Синтаксис Crontab

Время задается особым синтаксисом.

минута час день месяц день_недели /путь/к/исполняемому/файлу

* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- день недели (0—7) (воскресенье = 0 или 7)
| | | ------- месяц (1—12)
| | --------- день месяца (1—31)
| ----------- час (0—23)
------------- минута (0—59)

Нужно сказать, что обязательно нужно писать полный путь к команде, потому что для команд, запускаемых от имени cron переменная среды PATH будет отличаться, и сервис просто не сможет найти вашу команду. Это вторая самая распространенная причина проблем с Cron. Дата и время указываются с помощью цифр или символа '*'. Этот символ означает, что нужно выполнять каждый раз, если в первом поле - то каждую минуту и так далее. Ну а теперь перейдем к примерам.

Источники

⇑ Наверх ⇑

В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net