Жұмыстарды жоспарлау үшін Linux 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 файлын өңдей алады.

Түбірлік пайдаланушы әрқашан crontab файлын өңдей алады. Су командамасын root-user немесе sudo командасына crontab пәрменін іске қосу үшін пайдалануға болады.

Crontab файлын өңдеу

Рұқсаты бар әрбір пайдаланушы өзінің жеке crontab файлын жасай алады. Cron пәрмені негізінен бірнеше crontab файлдарының болуын іздейді және олардың барлығы арқылы жұмыс істейді.

Crontab файлының бар-жоғын тексеру үшін келесі пәрменді іске қосыңыз:

crontab -l

Егер сізде crontab файлы болмаса, онда «crontab файлыңыз үшін crontab жоқ» хабары көрсетіледі, әйтпесе crontab файлыңыз көрсетіледі (бұл функция жүйеден жүйеге әртүрлі болады, кейде ол ештеңе көрсетпейді және ол басқа уақытта көрсетілмейді « осы файлды өңдемеңіз «).

Crontab файлын жасау немесе өңдеу үшін келесі пәрменді іске қосыңыз:

crontab -e

Егер де әдепкі өңдегіш таңдалмаса, сізден әдепкі өңдегішін таңдап алу сұралады. Өзім жеке наномды қолданғым келеді, себебі ол өте ыңғайлы және терминалдан жұмыс істейді.

Ашылатын файл көп ақпаратқа ие, бірақ негізгі бөлігі түсініктемелер бөлімінің аяқталуына дейін мысал болып табылады (түсініктемелер # бастап басталатын сызықтармен белгіленеді).

# mh dom mon dow командасы

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

Crontab файлының әр жолына сәйкес келетін 6 ақпарат бар:

Әрбір элемент үшін (пәрменнен басқа) қойылмалы таңбаны көрсетуіңізге болады. Crontab сызығына келесі мысалға қараңыз:

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

Жоғарыда көрсетілген пәрмен 30 минут, 18 сағаттан тұрады және кез келген күн, ай және апта күніне үй каталогын / var / backups қалтасына zip және сканерлеу үшін пәрменді іске қосады.

Әр сағат сайын 30 минуттан кейін іске қосу пәрменін алу үшін мына пәрменді орындауға болады:

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

Кешкі сағат 18-де әр минутта жүгіруге арналған пәрменді алу үшін мына пәрменді орындауға болады:

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

Сондықтан crontab командаларын орнату туралы абай болу керек.

Мысалы:

* * * 1 * пәрмені

Жоғарыда келтірілген командалар қаңтар айының әр күніндегі әрбір сағаттың әр минутына жүгіреді. Мен сенемін, бұл сенемін.

Пәрменді 1 қаңтарда таңғы 5-те іске қосу үшін crontab файлына келесі пәрменде болады:

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

Crontab файлын жою әдісі

Көптеген уақытты crontab файлын жойғыңыз келмейді, бірақ кейбір жолдарды crontab файлынан жойғыңыз келуі мүмкін.

Алайда, егер сіз пайдаланушының crontab файлын жойғыңыз келсе, келесі пәрменді орындаңыз:

crontab -r

Мұны істеудің қауіпсіз жолы - келесі пәрменді іске қосу:

crontab -i

Бұл сұраққа «сен сенімдімін бе?» Деп сұрайды. crontab файлын жоймас бұрын.