На этом уроке мы собираемся показать вам, как автоматизировать системные задачи на ядре Linux VPS в качестве операционной системы возьмем CentOS 7.
Прежде всего, подключитесь к Linux VPS через SSH и обновите все системное программное обеспечение до последней доступной версии. Вы можете использовать следующую команду, чтобы сделать это:
sudo yum update
Для автоматизации системных задач, или более известный как jobs под Linux, вы можете использовать утилиту под названием Cron. С помощью Cron вы можете запускать скрипты автоматически в течение определенного периода времени, создавать резервные копии баз данных или других важных файлов, мониторинг служб, запущенных на вашем сервере и многое другое. Для использования утилиты Cron, вам необходимо установить пакет cronie
в вашей системе. Он должен быть уже установлен на вашем сервере. Для подтверждения, введите следующую команду:
sudo rpm -q cronie
Если он не установлен, вы можете использовать yum, чтобы установить его. yum это менеджер пакетов , который можно использовать для установки и управления программным обеспечением на CentOS 7. Выполните команду ниже:
sudo yum install cronie
Задания cron выбраны службой crond. Для того, чтобы проверить, работает ли услуга crond на вашем CentOS VPS, вы можете использовать следующую команду:
sudo systemctl status crond.service
Чтобы настроить cron на рабоче месте, необходимо изменить файл /etc/crontab
. Обратите внимание, что он может быть изменен только суперпользователем. Для проверки текущей конфигурации, вы можете использовать следующую команду:
sudo cat /etc/crontab
Вывод должен быть аналогичен приведенному ниже:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 37 * * * * root run-parts /etc/cron.hourly 23 5 * * * root run-parts /etc/cron.daily 19 3 * * 0 root run-parts /etc/cron.weekly 23 0 6 * * root run-parts /etc/cron.monthly
Как вы можете увидеть файл crontab уже содержит пояснения о том, как определить свои собственные рабочие файлы. Синтаксис выглядит следующим образом:
minute hour day month day_of_week username command
Звездочка (*) в crontab может быть использована для определения всех допустимых значений, так что если, как команда будет выполняться каждый день в полночь, вы можете добавить следующую задачу:
0 0 * * * root /sample_command >/dev/null 2>&1
Ваша cron будет работать в следующие дни:
2016-10-15 00:00:00 2016-10-16 00:00:00 2016-10-17 00:00:00 2016-10-18 00:00:00 2016-10-19 00:00:00 ...
Конкретные пользователи могут создавать задачи тоже. Задания Cron для конкретных пользователей расположены в /var/spool/cron/username
. При создании задач для конкретных пользователей, вам не нужно указать имя пользователя в cron. Поэтому синтаксис будет как на картинке ниже:
minute hour day month day_of_week command
После того, как вы сделаете изменения перезапустите службу crond с помощью команды ниже:
sudo systemctl restart crond.service
Для получения дополнительной информации вы можете проверить страницу man:
man cron
а также
man crontab
Если трудно установить правильную задачу в начале, вы можете использовать cron калькулятор, чтобы сгенерировать выражение требуемой задачи. Можно найти несколько хороших калькуляторов cron в Интернете.
PS . Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.