crontab

Стартирайте Cron Job всяка минута

Стартирайте Cron Job всяка минута
Ако искате да стартирате програма или скрипт във фонов режим на Linux, тогава заданието cron е много важно. С помощта на задания cron можете да изпълните програма или скрипт във фонов режим след определен интервал от време.

Нека да разгледаме някои от реалните примери за cron работни места.

Има много други употреби на cron работни места в Linux.

В тази статия ще ви покажа как да стартирате cron задания всяка минута в Linux. За демонстрацията ще използвам Debian 9 Stretch. Но можете да използвате всяка модерна Linux дистрибуция по ваш избор. Да започваме.

Основи на Crontab:

На Linux не е нужно да бъдете корен за да стартирате cron задания. Можете да стартирате cron задания като всеки потребител. Всеки потребител на Linux може да използва crontab файл, за да стартират свой собствен набор от задания cron.

По подразбиране потребителят няма crontab файл на Linux. Можете да създадете crontab файл със следната команда:

$ crontab -e

Ако изпълнявате тази команда за първи път, трябва да бъдете помолени да изберете текстов редактор от списъка. Ще избера нано, по подразбиране. Можете да изберете този, който ви харесва. След като приключите, натиснете .

The crontab файлът трябва да бъде създаден (ако вече не е наличен) и отворен с вашия любим текстов редактор.  Сега можете да добавите свои собствени cron задачи в края на този файл и след като сте доволни, просто го запазете и излезте от текстовия редактор.

Синтаксис на изпълнение на команда всяка минута:

Синтаксисът на crontab файлът е както следва:

минута час dayOfMonth месец dayOfWeek commandToRun

Тук,

За да стартирате a commandToRun команда всяка минута, трябва да я запишете в crontab файл, както следва:

* * * * * commandToRun

Изпълнение на Crob Job всяка минута:

Сега, след като познаваме теориите, нека добавим прост скрипт таймер.ш към crontab файл и вижте как да го управлявате.

В таймер.ш скрипт, имам само следните редове кодове. Всичко, което прави, е да създаде нов файл / home / shovon / bin / timer.дневник (ако вече не съществува) и добавя изхода на командата date към него.

Сега нека добавим скрипта към нашия crontab и го оставете да работи всяка минута със следния ред:

* * * * * / home / shovon / bin / timer.ш

След като запазите crontab файл и излезте от текстовия редактор, новия crontab файл трябва да бъде инсталиран.

След изминаване на минута нов файл е таймер.дневник се създава в желаната директория, както можете да видите в маркирания раздел на екранната снимка по-долу.

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

Улавяне на грешки от Cron Jobs:

За да уловите грешки от задание cron, можете да изпратите грешките на a грешка.дневник файл и нормални изходи към достъп.дневник файл например. Разбира се, можете да назовавате файловете каквото искате.

За да докажа това, модифицирах скрипта си таймер.ш малко. Сега грешките се изпращат на грешка.дневник файл в / home / shovon / bin директория и изходите се изпращат на достъп.дневник в / home / shovon / bin директория.

Отначало / tmp / i_must_be_here файлът не съществува, така че получавам грешката в грешка.дневник файл, както можете да видите.

The достъп.дневник файлът е празен в момента.

Сега ще създам файла / tmp / i_must_be_here

И както можете да видите, изходът е в достъп.дневник файл сега.

Ако искате, можете да пренасочите изхода и грешките в същия файл, както следва:

Както можете да видите, изходите STDIN и STDERR се изпращат към навън.дневник файл.

Уверете се, че последната задача е завършена, преди да стартирате работата отново:

За да работи това, можете да създадете временен файл непосредствено след стартирането на заданието и да го премахнете непосредствено преди да приключи. След това можете да проверите дали временният файл съществува, преди да започнете работата. Ако това стане, можете да излезете от заданието и да го стартирате само когато временният файл е недостъпен.

Този прост скрипт прави точно това.

Както можете да видите, таймер.pid файлът е създаден.

Четене на достъп.дневник файл доказва, че заданието cron не се изпълнява преди предишното задание cron да приключи. Както можете да видите, той работи в 01:32:01 и следващия път трябваше да работи в 01:33:01, но не. Вместо това изтича в 01:35:01, около 3 минути по-късно.

Организиране на Cron Job Output за лесно отстраняване на грешки:

Можете да форматирате изходите добре, за да улесните дебъгването на вашата cron работа.

Пример за това как може да се направи е даден в следващия скрипт.

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

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

Как да използвам Xdotool за стимулиране на кликвания и натискания на мишката в Linux
Xdotool е безплатен инструмент с команден ред с отворен код за симулиране на щраквания и натискания на мишката. Тази статия ще обхване кратко ръководс...
Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...