Cron помогает нам автоматически запускать задачи в фоновом режиме через определенные интервалы времени. Cron используется, например, для автоматического создания резервных копий каждую ночь, для синхронизации файлов, например, раз в час, для запуска обновлений или загрузки файлов через определенные интервалы времени. В этом руководстве вы узнаете, как настраивать и редактировать задания cronjobs с помощью команды crontab и графического интерфейса Gnome Schedule.
Linux Crontab
Команда Crontab используется для списка и редактирования заданий cron. Для использования этой команды необходимо выполнить следующие шаги.
Прежде всего, откройте Терминал, нажав на пусковую установку Ubuntu и выполнив поиск Терминала.
Теперь нажмите на Terminal и подождите, пока терминал откроется.
Как только терминал откроется, у вас появится экран, похожий на этот:
Список существующих заданий Cron
Чтобы проверить, какие кронтабы запущены в нашей системе в настоящее время, мы воспользуемся командой "
1 | sudo crontab -l |
Добавление или редактирование заданий Cron
Чтобы открыть crontab в редакторе по умолчанию, мы используем команду
1 | crontab -e |
Если вы используете crontab впервые, то вам предлагается выбрать один редактор.
Вы можете выбрать любой по вашему желанию. Появятся задачи, выполняемые в фоновом режиме.
Если вы используете его впервые, то выберите редактор Nano. Вы сможете найти текстовый редактор Nano, который обозначается заголовком "GNU nano", расположенным в верхней части вашего окна терминала. В противном случае, вероятно, crontab будет открыт в текстовом редакторе vi.
Если же вам не очень удобно пользоваться vi, вы можете легко выйти из vi. После нажатия клавиши Enter вы сможете закрыть его.
1 | :quit |
Добавление новой задачи cron
Мы можем использовать клавиши со стрелками/клавиши листания вниз для прокрутки к нижней части файла crontab в Nano. Все строки, которые начинаются с #, являются "строками комментариев". Эти комментарии полезны для людей, которые редактируют файлы, предоставляя важную информацию об их использовании.
Строки, которые записываются в файл crontab, располагаются в следующей последовательности, они имеют следующие допустимые значения:
- минута (0-59)
- час (0-23)
- день (1-31)
- месяц (1-12)
- день недели (0-6)
- команда
Мы использовали символ * для соответствия любому из значений. Теперь, если мы хотим, чтобы команда /usr/bin/example выполнялась каждый день в определенное время, например, в 12:30, то вот что мы сделаем. Мы будем использовать 29 0 * * * /usr/bin/example. Здесь у нас ноль, потому что час начинается с нуля, а день начинается с 1.
Сохранение изменений
Мы используем ctrl+o, чтобы сохранить файл crontab в Nano.
Планирование заданий Cron с помощью графического интерфейса пользователя
Шаг 1:
Для этого просто перейдите в командную строку и введите следующую команду.
1 | sudo apt-get update && sudo apt-get install gnome-schedule |
После этого программа попросит ввести учетные данные, как только мы их введем, начнется установка расписания GNOME. Этот способ намного проще, так как нам нужно только ввести необходимые поля. Итак, после установки вы увидите, насколько полезно планировать cronjobs с помощью Gnome scheduling.
Программа запросит разрешение, поэтому нажмите Y, чтобы продолжить.
Шаг 2:
Через некоторое время расписание GNOME будет установлено. Оно появится как запланированные задачи в приложениях системы.
Шаг 3:
После двойного щелчка появится окно "Configure Scheduled Tasks".
Шаг 4:
На скриншоте выше мы видим поле "Новый". Нажмите на него, а затем из выпадающего меню выберите Recurrent Task.
В окне выше нам нужно заполнить всю запрашиваемую информацию, которая является обязательной для создания нового задания. Эта информация будет следующей:
- Описание задания (или название для задания)
- Команда (может быть любой, которую мы хотим запустить в качестве повторяющегося задания)
- Поведение (если мы хотим ограничить команду вывода)
- Basic (включает информацию о задании, будет ли оно выполняться каждую минуту или час, или в день, в неделю, или каждый месяц)
- Дополнительно (сюда входит информация о том, хотим ли мы запланировать выполнение задания на заранее определенное время).
Если посмотреть на нижнюю часть этого окна, то внизу присутствует надпись "Добавить как шаблон", что означает, что мы можем добавить задание в качестве шаблона. Если это задание, то мы, конечно же, можем основывать на нем другие задания. Создавая шаблонные задания, мы можем в конечном итоге создать множество заданий на основе этого шаблона. Для этого нам просто нужно нажать на "new- drop down", как мы делали ранее, а затем выбрать из шаблона.
Если мы хотим создать задания cron, для их запуска также необходимы права sudo. Поэтому мы открываем окно терминала и вводим команду
1 | sudo gnome-schedule |
Затем мы планируем работу, как описано выше.
Заключение
В этом руководстве мы рассмотрели, как планировать выполнение задач с помощью crontab. Первая часть руководства основана на командной строке. Вторая часть показывает, как поддерживать cronjobs с помощью графического интерфейса GNOME.