Можете да планирате системни команди с Cron на Linux. Какво е Cron? Това е фонова услуга, която, когато е конфигурирана, може да изпълнява всяка команда, скрипт или програма по график. Най-хубавото е, че е напълно персонализиран.
Cron е много полезен, но синтаксисът на командите е невероятно объркващ, особено за обикновения потребител. Поради тази причина ще разгледаме как лесно да разберете Cron и това е синтаксисът на командите, така че да можете автоматично да планирате системните команди на вашата Linux машина!
Съдържание
Инсталирайте Cronie
В по-голямата си част Cron е предварително инсталиран и настроен на много Linux дистрибуции. Причината за това е, че Cron е централен за голяма част от автоматизацията на командния ред в индустрията на Linux SysAdmin.
Дори ако Cron е настроен в повечето дистрибуции, това не означава, че всяка една съществуваща операционна система Linux го има. Така че, преди да говорим за това как да използваме Cron, наложително е да го инсталирате на вашата ОС.
В този раздел ще се съсредоточим върху инсталирането на Cronie, инструмент, който се намира по подразбиране в много дистрибуции на Redhat Linux. Причината? Той има стандартна функционалност за Cron, а пакетите са в софтуерните хранилища на повечето дистрибуции на Linux.
За да определите дали трябва да инсталирате пакета Cronie, стартирайте терминален прозорец и въведете командата по-долу. Ако нищо не се случи, вашата система няма начин да планира системни команди и трябва да инсталирате Cronie.
Crontab —h
Ubuntu/Debian
Ubuntu и Debian не поддържат Cronie. Въпреки това, тези Linux дистрибуции често идват конфигурирани с Cron от кутията. Ако по някаква причина вашата система не може да използва Crontab, консултирайте се с уики страниците на Debian или Ubuntu за помощ.
Arch Linux
Arch Linux е Linux дистрибуция „направи си сам“ и се очаква потребителите да инсталират всеки един пакет в своята система и да го конфигурират сами. В резултат на това много потребители пренебрегват да инсталират приложение, което им позволява да планират системни команди с Cron. За щастие приложението Cronie е в софтуерното хранилище „Arch Linux Core“. За да получите Cronie, въведете командата Pacman по-долу.
sudo pacman -S cronie
Fedora
Fedora Linux е операционна система за работна станция, така че шансовете са доста добри, че вече можете да взаимодействате с Cron и Crontab. Все пак, ако по някаква причина не можете, Cronie се инсталира лесно с инструмента за опаковане DNF.
sudo dnf install cronie -y
OpenSUSE
OpenSUSE Leap (пускането на SUSE, което повечето потребители използват) е операционна система за работна станция, подобно на Fedora, така че Cron вече трябва да е настроен. Ако обаче не е, инсталирайте Cronie със следната команда Zypper.
sudo zypper install cronie
Генеричен Linux
На неясна дистрибуция на Linux, която няма система Cron? За ваш късмет, Cronie е с отворен код и инструкциите за изграждане са много ясни. За да научите повече, отидете на тази страница.
Планирайте системните команди с Cron
Планирането на системни команди с Cron изисква „Crontab“. „Crontab“ е файл, който съхранява вашите операции и ги предава на демона Cron за изпълнение.
За да получите достъп до Crontab във вашата система, стартирайте терминал и изпълнете следната команда по-долу. Не забравяйте да включите реда EDITOR=nano, или ще получите много по-предизвикателен редактор вместо нещо лесно като Nano.
EDITOR=nano crontab -e
След като изпълните командата, текстовият редактор ще се отвори към нов празен файл. Този празен файл е мястото, където отиват вашите команди.
В Cron планирането е сравнително сложно. Минава по минути, часове, дни, месеци и делнични дни. Въпреки това, няма да разглеждаме как да напишем ръчно график на Cron. Вместо, ще ви насочим към уебсайта на Crontabgeneratorтъй като прави нещата много по-удобни.
След като стигнете до генератора, използвайте квадратчетата за отметка, за да изберете график. След това, когато сте доволни от графика, преминете надолу до полето „Команда за изпълнение“.
В полето „Command To Execute“ напишете терминалните команди, които искате вашият Linux компютър или сървър да изпълнява автоматично. Имайте предвид, че „командите“ не са ограничени до команди на Linux като „apt update“, „ping“ и т.н. Те могат да бъдат всякакви! Докато вашата команда работи в терминала, тя ще работи в Cron!
Приключихте с попълването на вашата команда в полето „Команда за изпълнение“? Щракнете върху зеления бутон „Generate Crontab Line“, за да изведете текстов ред. След това маркирайте текста на изходната страница и се върнете към текстовия редактор на Crontab.
Натиснете Ctrl + Shift + V, за да поставите кода в Nano. След това го запазете с Ctrl + O. След като вашият Crontab файл бъде запазен, упоритата работа е свършена. Излезте от редактора с Ctrl + X.
Забележка: тези, които не използват Cronie, може да се наложи да изпълнят crontab -e след редактиране, за да гарантират, че новият файл влиза в сила.
Когато редактирането е направено, фоновата услуга на Cron ще обърне внимание и ще я стартира по графика, който сте посочили!