Како да ги измените датотеките на Линукс Crontab за да ги распоредите работните места

Вовед

Постои демон во Linux наречен cron кој се користи за извршување на процеси во редовни интервали.

Начинот на кој тоа го прави е да проверите одредени папки на вашиот систем за скрипти за извршување. На пример, постои папка под името /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly. Исто така постои и датотека наречена / etc / crontab.

Стандардно можете едноставно да ги ставите скриптите во соодветните папки за да ги стартувате редовни интервали.

На пример, отворете терминален прозорец (со притискање на CTRL, ALT и T) и извршете ја следнава команда ls :

ls / etc / cron *

Ќе ја видите листата на програми или скрипти кои се извршуваат на час, дневно, неделно и месечно.

Проблемите со овие папки се дека тие се малку нејасни. На пример, секојдневно значи дека сценариото ќе се извршува еднаш дневно, но немате контрола врз времето кога сценариото ќе се изврши во текот на тој ден.

Тука влегува датотеката crontab.

Со уредување на crontab-датотеката можете да добиете скрипта или програма за да се кандидира на точниот датум и време кога сакате да се кандидира. На пример можеби сакате да ги заштите вашите датотеки секоја вечер во 18 часот.

Дозволи

Командата crontab бара корисникот да има дозволи за уредување на датотека crontab. Во основа има две датотеки кои се користат за управување со дозволи за crontab:

Ако датотеката /etc/cron.allow постои тогаш корисникот кој сака да ја уредува датотеката crontab мора да биде во таа датотека. Доколку датотеката cron.allow не постои, но постои датотека /etc/cron.deny тогаш корисникот не смее да постои во таа датотека.

Ако постојат обете фајлови тогаш /etc/cron.allow ја пребришува датотеката /etc/cron.deny.

Ако ниту една датотека не постои тогаш тоа зависи од конфигурацијата на системот дали корисникот може да го уреди crontab.

Корисникот на root може секогаш да ја уредува датотеката crontab. Можете или да ја користите командата su за да преминете на root корисник или на командата sudo за да ја извршите командата crontab.

Уредување на датотеката Crontab

Секој корисник кој има дозволи може да креира своја сопствена датотека crontab. Cron командата во основа го бара постоењето на повеќе crontab датотеки и тече низ сите нив.

За да проверите дали имате датотека crontab ја извршите следната команда:

crontab -l

Ако немате датотека crontab, ќе се појави пораката "no crontab for ", во спротивно вашата датотека crontab ќе биде прикажана (оваа функционалност се разликува од системот до систем, понекогаш воопшто не прикажува ништо и други времиња што ги прикажува " не ја уредувајте оваа датотека ").

За да креирате или уредите датотека crontab, извршете ја следнава команда:

crontab-e

Стандардно ако нема стандарден уредувач избран, тогаш ќе биде побарано да одберете стандарден уредувач за користење. Лично сакам да го користам нано бидејќи е прилично едноставен за употреба и работи од терминалот.

Датотеката што се отвара има многу информации, но клучниот дел е примерот токму пред крајот на делот за коментари (коментарите се означени со линии кои започнуваат со #).

# mh dom модо Dow команда

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Има 6 информации за да се вклопат во секоја линија од датотеката crontab:

За секоја ставка (освен за командата) можете да наведете маска со карактери. Погледни го следниов пример crontab линија:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Она што го кажува горенаведената команда е 30 минути, 18 часа и секој ден, месец и ден од седмицата да изврши команда за затишување и тапкање на домашниот директориум во папката / var / backups.

За да добијам наредба да се кандидира на 30 минути по секој час, можам да ја извршам следнава команда:

30 * * * * команда

За да добијам наредба да се извршува секоја минута пред 18 часот, можам да ја извршам следнава команда:

* 18 * * * команда

Затоа мора да бидете внимателни за поставување на вашите команди за crontab.

На пример:

* * * 1 * команда

Горенаведената команда ќе се извршува секоја минута од секој час од секој ден од секоја недела во јануари. Се сомневам дека тоа е она што го сакате.

За да ја извршите командата во 5 часот наутро на 1-ви јануари, ќе ја наведете следнава команда во датотеката crontab:

0 5 1 1 * команда

Како да се отстрани датотеката Crontab

Поголемиот дел од времето нема да сакате да ја отстраните датотеката crontab, но можеби ќе сакате да отстраните некои редови од датотеката crontab.

Меѓутоа, ако сакате да ја отстраните crontab датотеката на вашиот корисник, извршете ја следнава команда:

crontab -r

Посигурен начин да го направите ова е да ја извршите следната команда:

crontab -i

Ова го поставува прашањето "дали си сигурен?" пред отстранување на датотеката crontab.