4 начина да проверите дали cron работи на Linux

cron е програма за планиране на задачи за Linux и Unix-подобни операционни системи. Той идва предварително инсталиран на всички Linux дистрибуции и е най-подходящ за автоматизиране на повтарящи се задачи.

За да функционира правилно cron, трябва периодично да проверявате дали помощната програма работи добре на вашата система. Можете да направите това, като използвате четири различни начина, включително проверка на състоянието на услугата cron, преглед на журналите на cron, стартиране на тестова задача на cron и изброяване на изпълняваните процеси във вашата система.

Какво е cron?

Безшумният манипулатор на задачи, cron, автоматизира и планира системни задачи. Потребителите, които конфигурират и поддържат софтуерни среди, използват cron, за да планират задания като команди или скриптове на обвивката – наричани също задания на cron – за периодично изпълнение на фиксирани времена или интервали.

cron автоматизира задачи по поддръжка или администриране на системата, които може да се наложи да изпълнявате често.

В Linux има няколко реализации. Версията, която ще имате, зависи от вашето разпространение. „Vixie cron“, кръстен на оригиналния си разработчик Пол Викси, е често срещан и е стандартен за Debian и Ubuntu. Arch няма версия на cron в полза на таймерите systemd.

cronie е разклонение на Vixie cron, което се предлага като стандартен пакет Arch. За да го инсталирате, използвайте pacman:

 sudo pacman -S cronie 

След това стартирайте и го активирайте с:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Можете да видите коя версия на cron е инсталирана на вашата система, като потърсите нейната страница с ръководство:

 man cron 

Как да проверите дали cron работи на Linux

Ето някои от начините, по които можете да проверите дали cron работи правилно:

  Как да играете Mirror's Edge на Linux

1. Проверете състоянието на услугата cron на Linux

Един от начините да проверите дали cron работи е като проверите състоянието на услугата cron, като изпълните основна команда на Linux. Отворете терминала на Linux, като натиснете Ctrl + Alt + T и използвайте командата systemctl, за да проверите състоянието на cron:

 sudo systemctl status cron 

Ако видите следния изход, това означава, че cron е активен и работи добре на вашата система.

Но какво ще стане, ако cron е в неактивно състояние, както е показано по-долу?

Можете да стартирате услугата по следния начин:

 sudo systemctl start cron.service 

След като стартирате услугата cron, активирайте я, така че да стартира всеки път, когато системата се рестартира:

 sudo systemctl enable cron.service 

2. Проверете журналите на cron на Linux

Друг начин да проверите дали cron работи правилно е като прегледате лог файловете. cron регистрационните файлове се съхраняват в директорията /var/log/syslog на Linux.

syslog е протокол, който Linux системите използват за централизиране на регистрационните файлове с данни за събития. След това се осъществява достъп до регистрационните файлове за извършване на одити, наблюдение, отстраняване на неизправности, докладване и други необходими ИТ оперативни задачи.

Можете да видите регистрационните файлове на задачите на cron в syslog файла, като изпълните следната команда:

 grep 'cron' /var/log/syslog 

Ще видите подобен резултат, който показва, че cron работи добре и неговите регистрационни файлове се съхраняват в лог файла:

Тъй като папката syslog съдържа други системни регистрационни файлове заедно с регистрационните файлове на cron, може да бъде малко трудно да се изследват само свързаните с cron регистрационни файлове във файла. Можете да разрешите това, като създадете отделен лог файл, който съхранява само cron записи, които се появяват в syslog файла.

  Как да добавите директория към вашия $PATH в Linux

В този пример ще използваме нано редактора, но можете да използвате всеки редактор, с който се чувствате комфортно.

Отворете следния файл с помощта на nano:

 nano /etc/rsyslog.d/50-default.conf 

Намерете реда, който започва с:

 #cron.* 

Разкоментирайте този ред, като премахнете знака решетка (#). След това запазете и излезте от файла, като натиснете Ctrl + X, след това натиснете Y и натиснете Enter.

Рестартирайте услугата rsyslog, като издадете тази команда:

 sudo service rsyslog restart 

Вече ще получавате регистрационни файлове във файла cron.log, който се намира в директорията /var/log.

Ако вашият терминал не успее да извлече никакви регистрационни файлове, това може да означава, че cron не работи. В такъв случай потвърдете дали cron работи или не използва други методи.

3. Изпълнение на cron Job на Linux

Можете също така да проверите дали cron работи, като просто създадете тестова задача на cron и я изпълните. Ако задачата успее да изпълни задачата, това означава, че функционира добре.

Първо трябва да създадете Bash скрипт. Bash скриптовете ви позволяват да автоматизирате ежедневните задачи на Linux.

Нека създадем Bash скрипт, който ще отпечата „моят cronjob работи!“ в TXT файл. За да създадете файла, първо открийте настоящата си работна директория, като използвате тази команда:

 pwd 

Създайте файл в текущата директория, като използвате командата touch:

 touch file.txt 

След това създайте Bash файл с помощта на nano:

 nano script.sh 

Добавете следното съдържание към файла:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

Уверете се, че сте предоставили правилното местоположение на текстовия файл, който сте създали. Запазете и излезте от файла, като натиснете Ctrl + X, след това Y и натиснете Enter.

  Как да играете Psychonauts на Linux

Дайте разрешения за изпълнение на Bash скрипта:

 chmod +x script.sh 

Сега създайте cron задание, за да изпълните скрипта. За да направите това, отворете файла crontab с:

 crontab -e 

Въведете следния ред в края на файла.

 * * * * * /path/to/script.sh 

Петте звездички съответстват на времето на изпълнение, в което първата звездичка представлява минутите (0-59), втората представлява часовете (в 24-часово време, така че 13:00 ч. е 13, полунощ започва от 0), третата звездичка означава деня (0-7, 0 и 7 са неделя), четвъртата означава месеца, а последната звездичка показва годината.

Името на изпълнимия файл и пътят му също се споменават във файла.

След като запазите и затворите файла, ще видите съобщение „crontab: инсталиране на нов crontab“ на терминала.

За да проверите дали заданието cron работи или не, отидете в директорията на file.txt и отпечатайте съдържанието му на терминала с помощта на cat:

 cat file.txt 

Това показва, че cron работи добре.

4. Проверете Running Processes на Linux

Друг начин, по който можете да проверите дали cron демонът работи, е като изброите изпълняваните процеси във вашата система. Можете да постигнете това с помощта на командата ps. Демонът cron ще се покаже в изхода като crond.

 ps aux | grep cron 

Това потвърждава, че процесът cron работи на вашата Linux система.

Автоматизирайте и планирайте системни задачи с cron

cron е една от най-важните помощни програми на Linux, която позволява на системата да работи ефективно. Понякога трябва да проверите дали cron работи, докато отстранявате системни проблеми.

Можете да постигнете това, като проверите журналите на cron или видите изпълняваните процеси във вашата система. Можете също да проверите състоянието на cron с помощта на помощната програма systemctl. Освен това, стартирането на тестова cron задача също може да ви каже дали услугата работи или не.

Гладката работа на cron ви позволява да автоматизирате и планирате ежедневни системни задачи. Повечето задачи на cron се създават автоматично от инсталирани приложения. Автоматизирането и планирането на задачи подобрява цялостната производителност на системата и я поддържа здрава.