Ներածություն
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
- /etc/cron.deny
Եթե /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 -e
Լռակյաց, եթե չընտրված լռակյաց խմբագիր չկա, ապա ձեզանից կպահանջվի ընտրել օգտագործողի համար նախատեսված լռելյայն խմբագիր: Անձամբ ես սիրում եմ նանո օգտագործել, քանի որ այն բավականին ուղիղ է օգտագործման համար, եւ այն անցնում է տերմինալից:
Բացվող ֆայլը շատ տեղեկություններ ունի, բայց առանցքային մասը օրինակն է, մեկնաբանությունների բաժնի ավարտից առաջ (մեկնաբանությունները նշվում են # -ից սկսած գծերով):
# mh dom mon dow հրաման
0 5 * * 1 tar -zcf /var/backups/home.tgz / home /
Crontab ֆայլի յուրաքանչյուր տողում տեղավորելու համար կա 6 հատ տեղեկատվություն:
- Օրվա րոպե, հրամանն է, վազել (մ)
- Ժամը, ժամը հրամանը է վազել (h)
- Տարվա ամսաթիվը հրամանն է վազել (dom)
- Հրամանն այն ամիսն է,
- Շաբաթվա օրը հրամանն է առաջադրվել (dow)
- Հրահանգը
Յուրաքանչյուր նյութի համար (բացի հրամաններից) կարող եք նշել նշանավոր նիշ: Նայիր հետեւյալ տիպի 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 ֆայլը հեռացնելը: