Премиальное программное обеспечение и практические уроки
Как использовать команду Crontab для настройки автоматического обновления запланированных задач в Apple CMS
Запланированные задачи Apple CMS Существует несколько способов обновления запланированных задач Apple CMS. Если вы используете Apple CMS в Windows, вы можете использовать запланированные задачи, встроенные в Windows. Если вы используете Linux, вы можете настроить запланированные задачи обновления на сторонних платформах или настроить пользовательские задачи обновления на сторонних сайтах, таких как Alibaba Cloud и Tencent Cloud. Ниже представлен другой способ использования команды crontab для настройки запланированных задач в системе Linux.Автоматически обновлять сайт.
Понять, что такое crontab
Команда crontab позволяет выполнять заданные системные команды или скрипты оболочки через регулярные интервалы. Интервалы могут быть заданы в минутах, часах, днях, месяцах, неделях или любой их комбинации. Эта команда идеально подходит для периодического анализа журналов или задач резервного копирования данных.
Формат команды
crontab [-u пользователь] файл crontab [-u пользователь] [ -e | -l | -r ]
Параметры команды
-u пользователь: используется для настройки службы crontab пользователя;
Файл: файл — имя командного файла, указывающее, что этот файл используется в качестве файла списка задач crontab и загружается в crontab. Если этот файл не указан в командной строке, команда crontab будет принимать команды, введённые со стандартного устройства ввода (клавиатуры), и загружать их в crontab.
-e: Редактирует файл crontab для указанного пользователя. Если пользователь не указан, редактирует файл crontab текущего пользователя.
-l: отображает содержимое файла crontab пользователя. Если пользователь не указан, отображается содержимое файла crontab текущего пользователя.
-r: Удалить файл crontab пользователя из каталога /var/spool/cron. Если пользователь не указан, по умолчанию удаляется файл crontab текущего пользователя.
-i: Запрашивать подтверждение при удалении файла crontab пользователя.
формат файла crontab
Команды, выполняемые по времени, дню, месяцу и неделе
- Столбец 1: Минуты от 0 до 59
- Второй столбец — это час от 0 до 23 (0 означает полночь).
- 3-й Льеж 1-31
- Столбец 4: Месяцы с 1 по 12
- Столбец 5: День недели от 0 до 7 (0 и 7 представляют воскресенье)
- Столбец 6: Команда, которую необходимо выполнить
# .---------------- Минута, диапазон значений 0-59 # | .------------ Час, диапазон значений 0-23 # | | .--------- День, диапазон значений 1-31 # | | | .------- Месяц, диапазон значений 1-12 # | | | | .---- День недели, диапазон значений 0-7, 0 и 7 оба означают воскресенье # | | | | | .-- Команда, которая будет выполнена # | | | | | | 0 19 * * * bash /root/test.sh
Запланированные задачи Apple CMS
Далее настройте запланированную задачу Apple CMS. Сначала в фоновом режиме Apple CMSсистемаВ опцияхКонфигурация запланированной задачи.
В параметрах операции, стоящих за задачей, которую необходимо автоматически обновить,тестЩелкните правой кнопкой мыши, затем щелкнитеКопировать адрес ссылкиПолучатьтестURL-адрес.
Например:
https://xxx.com/api.php/timming/index.html?enforce=1&name=lz https://xxx.com/api.php/timming/index.html?enforce=1&name=sd https://xxx.com/api.php/timming/index.html?enforce=1&name=xl https://xxx.com/api.php/timming/index.html?enforce=1&name=kc https://xxx.com/api.php/timming/index.html?enforce=1&name=gs
Эти URL-адреса открываются в браузере и должны быть действительными ссылками, позволяющими нормально обновлять веб-сайт.
Затем настройте запланированную задачу в системе Linux.
Установить кронтаб
Как правило, CentOS устанавливает crontab по умолчанию. Выполните следующую команду, чтобы проверить, установлен ли он:
rpm -qa | grep crontab
Если результат запроса похож на следующий, это означает, что он установлен:
Если результат пустой, значит, он не установлен. Выполните следующую команду, чтобы установить его:
dnf install -y crontabs
Распространенные команды crontab
Проверьте состояние выполнения crontab:
systemctl status crond
Как показано на рисунке выше, если отображается результат Active: активен (работает), это означает, что он работает, а Active: неактивен (не работает) означает, что он не работает.
Если crontab не запущен, вы можете настроить его автоматический запуск при загрузке с помощью следующей команды.
Настройте crontab на автоматический запуск при загрузке:
systemctl включить crond
Запустить кронтаб:
systemctl start crond
Просмотр запланированных задач текущего пользователя:
кронтаб -l
Настройка запланированных задач
Сначала создайте скрипт vod.sh в корневом каталоге.
vi /root/vod.sh
Нажмите i, чтобы войти в режим редактирования, и вставьте следующее содержимое:
#! /bin/bash a=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz') b=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd') c=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl') d=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc') e=$(curl -k 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs') echo $a sleep 10 echo $b sleep 10 эхо $c сон 10 эхо $d сон 10 эхо $e
Нажмите клавишу Esc и введите :wq, чтобы сохранить файл.
Вы также можете использовать следующий метод письма, эффект тот же.
#! /bin/bash func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=gs' touch gs echo "gs открыт" } func & sleep 5 if [ -f gs ] then echo "gs выполнен успешно" else echo "gs не удалось" fi rm -f gs sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=kc' touch kc echo "kc открыт" } func & sleep 5 if [ -f kc ] then echo "kc выполнен успешно" else echo "kc не удалось" fi rm -f kc sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=sd' touch sd echo "sd открыт" } func & sleep 5 if [ -f sd ] then echo "sd выполнен успешно" else echo "sd не удалось" fi rm -f sd sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=xl' touch xl echo "xl открыт" } func & sleep 5 if [ -f xl ] then echo "xl выполнен успешно" else echo "xl не удалось" fi rm -f xl sleep 10 func() { curl 'https://xxx.com/api.php/timming/index.html?enforce=1&name=lz' touch lz echo "lz открыт" } func & sleep 10 if [ -f lz ] then echo "lz выполнен успешно" else echo "lz не удалось" fi rm -f lz
Синтаксис команды sleep Ниже приведен синтаксис команды sleep в Bash:
номер сна[суффикс]
В качестве значений времени можно использовать положительные целые числа или десятичные дроби. Суффикс необязателен. В качестве суффикса можно использовать любой из следующих:
- s - представляет секунды
- м - представляет минуты
- h - представляет час
- d - представляет день
ПРИМЕЧАНИЕ: Если суффикс отсутствует, число указывается в секундах (по умолчанию).
Если указано два или более аргументов, общее время будет считаться равным сумме их значений. Ниже приведены несколько простых примеров использования команды sleep:
- Чтобы поспать 9 секунд, используйте:
спать 9 или спать 9s - Чтобы поспать 0,5 секунды, используйте:
сон 0,5 или сон 0,5с - Чтобы поспать 2 минуты 30 секунд, используйте:
сон 2 мин 30 сек - Спите 8 часов, используйте:
спать 8 часов - Сон 2 дня, 9 часов, 5 минут, 55 секунд, используя:
сон 2д 9ч 5м 55с
Выполните следующую команду, чтобы изменить запланированные задачи текущего пользователя:
кронтаб -е
После выполнения команды crontab -e откроется документ. Нажмите i, чтобы войти в режим редактирования. Вставьте следующий текст в документ. Затем сохраните и выйдите!
0 19 * * * баш /root/vod.sh
Приведенный выше код означает, что в 19:00 каждый день выполняется скрипт /root/vod.sh.
Если вы хотите, чтобы скрипт выполнялся каждый час, вы можете добавлять их по одному.
Примечание: В конфигурационном файле запланированного задания нельзя вводить 24 в 24:00, а необходимо ввести 0, иначе будет выдано сообщение об ошибке!
Например:
0 1 * * * баш /root/vod.sh 0 2 * * * баш /root/vod.sh 0 3 * * * баш /root/vod.sh 0 4 * * * баш /root/vod.sh 0 5 * * * баш /root/vod.sh 0 6 * * * баш /root/vod.sh 0 7 * * * баш /root/vod.sh 0 8 * * * баш /root/vod.sh 0 9 * * * баш /root/vod.sh 0 10 * * * баш /root/vod.sh 0 11 * * * баш /root/vod.sh 0 12 * * * баш /root/vod.sh 0 13 * * * баш /root/vod.sh 0 14 * * * баш /root/vod.sh 0 15 * * * баш /root/vod.sh 0 16 * * * Баш /root/vod.sh 0 17 * * * Баш /root/vod.sh 0 18 * * * Баш /root/vod.sh 0 19 * * * Баш /root/vod.sh 0 20 * * * Баш /root/vod.sh 0 21 * * * Баш /root/vod.sh 0 22 * * * Баш /root/vod.sh 0 23 * * * Баш /root/vod.sh 0 0 * * * Баш /root/vod.sh
Проблемы с выполнением crontab
- Проверьте, добавлен ли bash или /etc/profile;/bin/sh перед путем к скрипту.
- Проверьте, нормально ли работает служба crontab.
- Проверьте, является ли путь к скрипту абсолютным.
URL-адрес запроса curl содержит &, и запрос не выполняется.
Если в запросе curl URL содержит несколько параметров, его необходимо заключить в одинарные кавычки, иначе запрос будет обрезан. Просто заключите содержимое URL в одинарные кавычки.
Три способа открытия веб-страниц с помощью командной строки в Ubuntu
Первый метод связывает команду
ссылки для установки apt ссылки 'https://uzbox.com'
Второй метод — команда w3m
apt install w3m w3m 'https://uzbox.com'
Третий метод — команда lynx
apt install lynx lynx 'https://uzbox.com'