Ինչպես խմբագրել 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: 00-ին, ցանկանում եք պատճենել ձեր ֆայլերը:

Թույլտվություններ

Crontab հրամանը պահանջում է, որ օգտագործողն ունի crontab ֆայլի խմբագրման թույլտվություն: Կան հիմնականում երկու ֆայլ, որոնք օգտագործվում են crontab թույլտվությունները կառավարելու համար.

Եթե ​​/etc/cron.allow ֆայլը գոյություն ունի, ապա օգտվողը ցանկանում է խմբագրել crontab ֆայլը պետք է լինի այդ ֆայլում: Եթե ​​cron.allow ֆայլը գոյություն չունի, բայց կա /etc/cron.deny ֆայլը, ապա օգտվողը չպետք է գոյություն ունենա այդ ֆայլում:

Եթե ​​երկու ֆայլ կա, ապա /etc/cron.allow- ը overrides է /etc/cron.deny ֆայլը:

Եթե ​​որեւէ ֆայլ գոյություն չունի, ապա կախված է համակարգի կոնֆիգուրացիայից, թե արդյոք օգտվողը կարող է խմբագրել crontab- ը:

Արմատավոր օգտվողը միշտ կարող է խմբագրել crontab ֆայլը: Դուք կարող եք կամ օգտագործել ջրային հրամանը `անցնել արմատավոր օգտագործողին կամ sudo հրամանատարին ` crontab հրամանը վարելու համար:

Կատարապ ֆայլի խմբագրում

Յուրաքանչյուր օգտվող, ով ունի թույլտվություններ, կարող է ստեղծել սեփական crontab ֆայլը: The cron հրամանը հիմնականում փնտրում է բազմաթիվ crontab ֆայլերի առկայությունը եւ անցնում է նրանց բոլորի համար:

Ստուգելու համար, թե արդյոք ունեք crontab ֆայլ, վարեք հետեւյալ հրահանգը.

crontab -l

Եթե ​​դուք չունեք 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 ժամ եւ ցանկացած օր, ամիս եւ շաբաթվա օրվա ընթացքում հրահանգ է գործել zip եւ tar ֆայլերի տուն / թղթապանակ / backups թղթապանակ:

Ամեն ժամ անց 30 րոպե անցնելու հրաման ստանալու համար կարող եմ գործարկել հետեւյալ հրահանգը.

30 * * * * հրաման

Հաջորդ ժամը 6-ին ամեն մի րոպե առաջադրելու հրաման ստանալու համար կարող եմ գործադրել հետեւյալ հրահանգը.

* 18 * * * հրաման

Հետեւաբար դուք պետք է զգույշ լինեք ձեր crontab հրամանները ստեղծելու մասին:

Օրինակ:

* * * 1 * հրամանը

Վերոհիշյալ հրամանը կսկսվի հունվար ամսվա ամեն օրվա ամեն ժամի յուրաքանչյուր րոպեի ընթացքում: Ես կասկածում եմ, որ այն, ինչ ուզում եք:

Հունվարի 1-ին ժամը 5-ին հրաման տալու համար դուք կստանաք հետեւյալ կարգադրությունը crontab ֆայլում:

0 5 1 1 * հրամանը

Ինչպես հեռացնել A Crontab ֆայլը

Ժամանակի մեծ մասը չեք ուզում հեռացնել crontab ֆայլը, բայց դուք կարող եք հեռացնել crontab ֆայլից որոշ տողեր:

Այնուամենայնիվ, եթե ցանկանում եք հեռացնել ձեր օգտագործողի crontab ֆայլը վարելու հետեւյալ հրահանգը.

crontab -r

Դա ավելի անվտանգ եղանակ է, որպեսզի առաջադրվի հետեւյալ հրամանը.

crontab -i

Սա հարցնում է «դու վստահ ես» հարցին: նախքան crontab ֆայլը հեռացնելը: