Как сэкономить время с помощью cron: базовое руководство и примеры кода

Статья написана:
  • Хостинг-гиды
  • Обновлено: май 09, 2019

Что такое cron?

Cron - это демон Linux / UNIX, который предназначен для выполнения команды в предопределенное время. Поскольку cron является демоном, после его выполнения он не требует никакого администрирования от пользователя. Cron управляется набором файлов под названием «cronfiles», ниже приведен список общих команд cron.

Имя файла Crontab Установите имя файла в качестве файла crontab.
кронтаб -eОтредактируйте файл crontab.
crontab -lПокажите свой файл crontab.
crontab -rУдалите файл crontab.
[Электронная почта защищена]Отправляет вывод на указанный адрес.

Каждая запись в файл crontab будет состоять из следующих шести полей, разделенных пробелом. Порядок полей и краткое описание каждого из них перечислены ниже.
минута (-ы) час (ы) день (ы) месяц (ы) рабочий день (ы) команда (ы)

полеСтоимостьОписание
Минута0-59Определяет точную минуту выполнения команды.
час0-23Определяет час дня выполнения команды.
день1-31Определяет день месяца выполнения команды.
Месяц1-12Определяет месяц года выполнения команды.
будний день0-6Определяет день недели выполнения команды.
Воскресенье = 0, понедельник = 1, вторник = 2, среда = 3, четверг = 4, пятница = 5, суббота = 6
командаОсобыйПолная команда, которая будет выполнена.

Вы также можете использовать * вместо численного символа первых пяти полей, чтобы указать все допустимые значения. Например, команда 0 0 * * 1, запускает скрипт в каждый понедельник.
Большая часть этого раздела имеет смысл только в том случае, если вы используете сценарии из командной строки в Linux / UNIX, если вы используете cPanel, просмотрите раздел «Как запустить cron-скрипт из моей cPanel».

Как сэкономить время с помощью cron?

Есть много способов, которыми вы можете использовать cron для сохранения некоторых, но для меня наиболее полезными задачами, которые вы можете планировать, являются запуск сценариев резервного копирования баз данных и веб-сайта. Обе эти задания можно легко выполнить вручную, но они часто просматриваются. С помощью cron вы можете установить их один раз и знать, что это будет сделано.

Ниже приведены примеры сценариев, которые вы можете использовать для настройки этих заданий с помощью cron.

Автоматизированные резервные копии веб-сайтов (Сценарий, предоставленный Ubuntu)

#! / Bin / ш

####################################

#

# Резервное копирование на сценарий монтирования NFS.

#

####################################

# Что делать резервную копию.

backup_files = "/ home / var / spool / mail / etc / root / boot / opt"

# Где сделать резервную копию.

Dest =»/ шоссе / резервное копирование»

# Создать имя файла архива.

день = $ (дата +% A)

hostname = $ (hostname -s)

archive_file =»$ hostname- $ day.tgz»

# Распечатайте сообщение о состоянии запуска.

echo "Резервное копирование $ backup_files в $ dest / $ archive_file"

данные

эхо

# Резервное копирование файлов с помощью tar.

tar czf $ dest / $ archive_file $ backup_files

# Распечатать сообщение о состоянии печати.

эхо

echo «Резервное копирование завершено»

данные

# Длинный список файлов в $ dest для проверки размеров файлов.

ls -lh $ dest

 

Автоматическое резервное копирование базы данных WordPress (Сценарий предоставлен Tamba2.org.uk)

# Установить переменные 4
#Replace, что ПОСЛЕ = с информацией из вашего файла wp-config.php

DBNAME = DB_NAME

DBPass = DB_PASSWORD

DBUSER = DB_USER

# Сохранить "вокруг вашего адреса
EMAIL =»[Электронная почта защищена]_email.com»

mysqldump -opt -u $ DBUSER -p $ DBPASS $ DBNAME> backup.sql
gzip backup.sql
DATE = `date +% Y% m% d`; mv backup.sql.gz $ DBNAME-backup- $ DATE.sql.gz
echo 'Название блога: ваша резервная копия mySQL прикреплена' | Mutt -a $ DBNAME-backup- $ DATE.sql.gz $ EMAIL -s «Резервное копирование MySQL»
rm $ DBNAME-backup- $ DATE.sql.gz

* Отказ от ответственности: мы не несем ответственности, если скрипт не работает правильно или вы его неправильно настроили. Если у вас есть какие-либо вопросы или сомнения по поводу сценария или его настройки, лучшим контактным лицом будет ваш хост-провайдер.

Как запустить cron-скрипт из моей cPanel?

1. Войдите в систему cPanlel

2. Найдите значок «cron jobs» (обычно это расширенный раздел).

3. Введите свой адрес электронной почты, если вы хотите, чтобы вам была отправлена ​​копия вывода урожая.

4. Выберите, когда вы хотите запустить скрипт cron. (Выбор элемента из раскрывающегося списка «Общие настройки» заполнит поля для вас.)

5. Введите путь к сценарию, который вы хотите запустить. (Примечание. Вам нужно будет загрузить файл сценария на свой сервер, для получения дополнительной информации см. Ниже - «Как загрузить файл сценария» для получения более подробной информации.)

6. Нажмите «Добавить новое задание в Cron»

7. Теперь ваше задание cron должно быть указано в разделе «Текущие вакансии в Cron».

Как загрузить файл сценария?

  1. Из вашей cPanel выберите «File Manager»
  2. Затем выберите «Домашний каталог», затем нажмите «Перейти».
  3. Теперь выберите «Загрузить».
  4. Установите разрешения для файлов на 755
  5. Нажмите «Обзор»
  6. Перейдите в папку с вашим скриптом и нажмите на нее, а затем нажмите «Открыть».

Примечание. Ваша cPanel может быть настроена иначе, чем приведенная выше, но общие концепции все равно должны быть одинаковыми.

О ГСВР Гость

Эта статья написана гостем-автором. Представленные ниже авторские взгляды являются полностью его или ее собственными и могут не отражать взгляды ВСЖД.

Подключение: