Cron и Crontab - Управление временем в Linux

{title}

Cron имеет возможность запускать фоновые процессы, прозрачные для пользователя, может быть настроен и затем запущен без вмешательства пользователя.
Он широко используется на серверах для выполнения обслуживания, резервного копирования или конкретных задач некоторых веб-сайтов.
Для создания команды cron мы можем использовать окно терминала и написать crontab -e
При первом запуске он попросит указать, какой из текстовых редакторов по умолчанию будет использовать vi, nano или другие.

{title}


Здесь мы добавим наши правила crontab. Правила или команда crontab имеет следующую схему
команда пользователя mh dom dow
  • m - выражает минуты, в которые должен быть выполнен скрипт, значение изменяется от 0 до 59
  • h - выражает точное время в 24-часовом формате, значения варьируются от 0 до 23, равняются 0 12:00 полуночи.
  • Sun - экспресс день месяца, вы можете указать 10, если вы хотите запускать каждый день 10 месяца
  • dow - обозначает день недели, он может быть числовым (от 0 до 7, где 0 и 7 - воскресенье) или первые 3 буквы дня на английском языке: понедельник, вторник, четверг, четверг, четверг, субботу и воскресенье.
  • uer - определяет пользователя, который будет выполнять команду, он может быть пользователем root или другим пользователем, если у него есть разрешения на выполнение сценария.
  • команда - это команда или абсолютный путь к скрипту, который нужно выполнить, например: /home/user/script.sh, если вы вызываете скрипт, он должен быть исполняемым.

Так, например, вы можете создать милый
Создайте резервную копию каждый день в 10:30
30 10 * * * user /home/user/backup.sh
Обновите операционную систему по пятницам в 1:00
00 01 * * 6 root apt-get -y update пользователь root
Другим вариантом для того же было бы использовать название дня пятница (пятница)
00 01 * * fri root apt-get -y обновить пользователя root
Более полная и сложная команда
Каждое 30 августа в 23:30 выполняйте задачи по обслуживанию сервера
30 23 30 08 * user / home / user / maintenance server.sh
То же самое можно настроить на всех панелях управления сервером.
Например, из панели управления Directadmin у нас есть визуальный интерфейс для создания команды cron

{title}


Также можно создать команду cron из Cpanel способом, очень похожим на предыдущий

{title}


Если у нас есть веб-сайт, его можно использовать для выполнения таких задач, как обновление веб-сайта, выполнение задач обслуживания базы данных, автоматическое резервное копирование, отправка электронных писем, таких как:
Рассылка новостей пользователям каждый день в полночь
00 00 * * * user /home/user/mydomain.com/newsletter.php
Мы создадим пример для синхронизации с программным обеспечением Rsync локального каталога с каталогом на сервере, к которому мы предполагаем, что мы подключены
00 21 * * * rsync -avz --password-file = / etc / rsync.secret / home / dir-local / :: dir-emoto

  • 0