Cron vs Anacron_ Ինչպես պլանավորել աշխատանքները՝ օգտագործելով Anacron-ը Linux-ում
Linux-ի աշխարհում առաջադրանքների պլանավորումը կարևոր խնդիր է, որը ադմինիստրատորները պետք է կանոնավոր կերպով կատարեն: Սա արվում է սովորական առաջադրանքների կատարման գործընթացն ավտոմատացնելու և ճիշտ ժամանակին դրանց կատարումն ապահովելու համար: Կան երկու հայտնի գործիքներ, որոնք օգտագործվում են Linux-ում առաջադրանքների պլանավորման համար՝ cron և anacron: Այս երկու գործիքներն էլ ունեն իրենց յուրահատուկ առանձնահատկություններն ու առավելությունները:
Այս բլոգային գրառման մեջ մենք կքննարկենք cron-ի և anacron-ի միջև եղած տարբերությունները, այնուհետև ցույց կտանք, թե ինչպես օգտագործել anacron-ը Linux համակարգում առաջադրանքները պլանավորելու համար:
Կրոն ընդդեմ Անակրոն. Ո՞րն է տարբերությունը:
Նախքան մենք սովորենք, թե ինչպես պետք է պլանավորել աշխատատեղերը՝ օգտագործելով Anacron-ը, եկեք տեսնենք Cron-ի և Anacron-ի միջև եղած տարբերությունը:
Քրոն
Cron-ը ժամանակի վրա հիմնված աշխատանքի ժամանակացույց է, որն աշխատում է Unix-ի նման օպերացիոն համակարգերով: Այն օգտագործվում է որոշակի ժամանակներում կամ ընդմիջումներով առաջադրանքներ կատարելու համար: Cron-ը իդեալական է այնպիսի աշխատատեղեր պլանավորելու համար, որոնք պետք է կատարվեն կանոնավոր ընդմիջումներով, օրինակ՝ ժամային, օրական, շաբաթական կամ ամսական: Cron-ը հզոր և ճկուն գործիք է, բայց այն ունի մեկ հիմնական սահմանափակում. Այն ենթադրում է, որ համակարգը միշտ աշխատում է, և եթե համակարգը փակվի կամ վերագործարկվի, պլանավորված աշխատանք չի կատարվի:
Անակրոն
Անակրոնը, մյուս կողմից, cron-ի նման գործիք է, որը նախատեսված է աշխատելու համակարգերի հետ, որոնք միշտ չէ, որ աշխատում են: Anacron-ը իդեալական է համակարգերի համար, որոնք կանոնավոր կերպով անջատվում կամ վերագործարկվում են, ինչպիսիք են նոութբուքերը կամ աշխատասեղանները: Anacron-ը կարող է օգտագործվել նաև սերվերների վրա, բայց այն այնքան արդյունավետ չէ, որքան cron-ը որոշակի ժամանակներում գործարկվող աշխատանքների պլանավորման համար:
Անակրոնն աշխատում է՝ հետևելով վերջին անգամ աշխատանքի կատարմանը: Այնուհետև այն հաշվարկում է հաջորդ անգամ աշխատանքը, որը պետք է գործարկվի՝ հիմնվելով կազմաձևման ֆայլում նշված միջակայքի վրա: Եթե համակարգը փակվի կամ վերագործարկվի մինչև աշխատանքը գործարկվի, Անակրոնը կգործարկի աշխատանքը հաջորդ անգամ, երբ համակարգը գործարկվի:
Այս ձեռնարկում մենք կքննարկենք, թե ինչպես տեղադրել և կարգավորել Anacron-ը Ubuntu-ում և ցույց տալ, թե ինչպես կարելի է աշխատանք պլանավորել Anacron-ի միջոցով:
Օգտագործելով Anacron-ը աշխատանքի ժամանակացույցի համար
Այժմ, երբ մենք քննարկեցինք cron-ի և anacron-ի միջև եղած տարբերությունները, եկեք տեսնենք, թե ինչպես օգտագործել anacron-ը՝ Linux համակարգում աշխատատեղերը պլանավորելու համար: Մենք ենթադրում ենք, որ դուք հիմնական հասկացողություն ունեք Linux հրամանի տողի մասին:
Քայլ 1. Տեղադրեք Anacron-ը
Առաջին քայլը համոզվելն է, որ Anacron-ը տեղադրված է ձեր Linux համակարգում: Դա անելու համար բացեք տերմինալի պատուհանը և մուտքագրեք հետևյալ հրամանը −
sudo apt-get install anacron
Այս հրամանը կտեղադրի Anacron-ը Debian-ի վրա հիմնված համակարգում: Եթե դուք օգտագործում եք Linux-ի այլ բաշխում, հրամանը կարող է մի փոքր տարբեր լինել:
Քայլ 2. Ստեղծեք աշխատանք
Հաջորդ քայլը աշխատանք ստեղծելն է, որը մենք ցանկանում ենք պլանավորել՝ օգտագործելով Anacron-ը: Այս օրինակում մենք կստեղծենք պարզ bash սցենար, որը կտպագրի ընթացիկ ամսաթիվը և ժամը ֆայլում: Բացեք տեքստային խմբագրիչ և ստեղծեք նոր ֆայլ, որը կոչվում է «myjob.sh»: Ֆայլին ավելացրեք հետևյալ տողերը −
#!/bin/bash echo "The current date and time is $(date)" >> /var/log/myjob.log
Պահպանեք ֆայլը և դարձրեք այն գործարկելի՝ մուտքագրելով հետևյալ հրամանը −
chmod +x myjob.sh
Քայլ 3. Կարգավորեք Anacron-ը
Հաջորդ քայլը Anacron-ի կազմաձևումն է մեր աշխատանքը գործարկելու համար: Անակրոնն օգտագործում է կազմաձևման ֆայլ, որը կոչվում է «anacrontab»՝ գործերը և դրանց պլանավորման միջակայքերը սահմանելու համար: Բացեք տերմինալի պատուհանը և մուտքագրեք հետևյալ հրամանը՝ anacrontab ֆայլը խմբագրելու համար
sudo nano /etc/anacrontab
Սա կբացի anacrontab ֆայլը Nano տեքստային խմբագրիչում: Անակրոնթաբ ֆայլն ունի հետևյալ ձևաչափը −
period delay job-identifier command
Եկեք մանրամասն նայենք այս պարամետրերից յուրաքանչյուրին −
-
Ժամանակաշրջան − Պետական պարամետրը սահմանում է. աշխատանքի երկու հաջորդական փուլերի միջև ընկած ժամանակահատվածը օրերով: Օրինակ, եթե դուք ցանկանում եք գործարկել աշխատանքն ամեն օր, դուք պետք է սահմանեք ժամկետը 1-ի:
Հապաղում − Հապաղման պարամետրը սահմանում է. ժամանակը րոպեներով, որին Անակրոնը կսպասի նախքան աշխատանքը գործարկելը համակարգը բեռնելուց հետո: Այս պարամետրը օգտակար է, եթե ցանկանում եք շեղել աշխատանքների կատարումը՝ գործարկման ընթացքում համակարգը չծանրաբեռնելու համար: Կանխադրված ուշացումը 5 րոպե է:
Աշխատանքի նույնացուցիչ − Աշխատանքը- նույնացուցիչի պարամետրը աշխատանքի եզակի նույնացուցիչ է: Այս պարամետրն օգտագործվում է Anacron-ի կողմից՝ հետևելու, թե որ աշխատանքներն են արդեն կատարված: Աշխատանքի նույնացուցիչը պետք է եզակի լինի յուրաքանչյուր աշխատանքի համար և չպետք է պարունակի բացատներ:
Հրաման − հրամանի պարամետրը. հրամանը, որը կկատարվի, երբ աշխատանքը գործարկվի: Սա կարող է լինել ցանկացած վավեր shell հրաման, սցենար կամ գործարկվող:
Հետևյալ տողը ավելացրեք anacrontab ֆայլի ներքևում՝ մեր աշխատանքը սահմանելու համար
1 5 myjob /path/to/myjob.sh
Այս տողով սահմանվում է 1 օր ժամկետով և 5 րոպե ուշացումով աշխատանք: Աշխատանքի նույնացուցիչն է «myjob», իսկ հրամանը՝ «/path/to/myjob.sh»: Սա նշանակում է, որ Anacron-ը կաշխատի աշխատանքը օրական մեկ անգամ, և եթե համակարգը փակվի կամ վերագործարկվի մինչև աշխատանքը գործարկվի, Anacron-ը կաշխատի այն հաջորդ անգամ, երբ համակարգը գործարկվի, քանի դեռ անցել է առնվազն 5 րոպե: վերջին անգամ աշխատանքն իրականացվել է:
Պահպանեք anacrontab ֆայլը և դուրս եկեք տեքստային խմբագրիչից:
Քայլ 4. Փորձարկել աշխատանքը
Վերջնական քայլը աշխատանքը փորձարկելն է՝ համոզվելու, որ այն ճիշտ է աշխատում: Դա անելու համար բացեք տերմինալի պատուհանը և մուտքագրեք հետևյալ հրամանը −
sudo anacron -f
Այս հրամանը կստիպի Անակրոնին անմիջապես գործարկել բոլոր նախատեսված աշխատանքները: Anacron-ը նաև կաշխատի բոլոր աշխատանքները, որոնք բաց են թողնվել համակարգի անջատման կամ վերագործարկման պատճառով:
Ստուգեք /var/log/myjob.log ֆայլը՝ համոզվելու համար, որ աշխատանքը ճիշտ է աշխատում: Մատյան ֆայլում դուք պետք է տեսնեք տող, որը պարունակում է ընթացիկ ամսաթիվը և ժամը:
Աշխատանքի պլանավորում Անակրոնի հետ
Anacron-ի հետ աշխատանք պլանավորելու համար դուք պետք է նոր մուտք ստեղծեք /etc/anacrontab կազմաձևման ֆայլում: Օրինակ, ենթադրենք, որ դուք ցանկանում եք պլանավորել աշխատանք՝ 30 օրը մեկ ջնջելու հին մատյան ֆայլերը: Դուք կարող եք ավելացնել հետևյալ տողը կազմաձևման ֆայլին −
30 5 cleanup / usr/local/bin/cleanup-script.sh
Այս տողում նշվում է, որ cleanup-script.sh սկրիպտը կկատարվի յուրաքանչյուր 30 օրը մեկ՝ 5 րոպե ուշացումով համակարգի բեռնումից հետո: Այս աշխատանքի համար աշխատանքի նույնացուցիչը «մաքրում» է:
Մուտքը ավելացնելուց հետո պահպանեք կազմաձևման ֆայլը և դուրս եկեք տեքստային խմբագրիչից:
Anacron-ը ավտոմատ կերպով կաշխատի աշխատանքը հաջորդ անգամ, երբ համակարգը բեռնվի, և դրանից հետո յուրաքանչյուր 30 օրը մեկ: Եթե համակարգը չի միացվել նախատեսված ժամանակի ընթացքում, ապա Անակրոնը կգործարկի աշխատանքը հաջորդ անգամ, երբ համակարգը միացվի:
Եզրակացություն
Այս բլոգային գրառման մեջ մենք քննարկել ենք cron-ի և anacron-ի միջև եղած տարբերությունները և ցույց ենք տվել, թե ինչպես օգտագործել Anacron-ը՝ Linux համակարգում աշխատատեղերը պլանավորելու համար: Անակրոնը օգտակար գործիք է այն համակարգերում, որոնք միշտ չէ, որ աշխատում են, օրինակ՝ դյուրակիր համակարգիչներում կամ աշխատասեղաններում, աշխատատեղերը պլանավորելու համար: Անակրոնն ապահովում է, որ աշխատանքները կատարվում են, նույնիսկ եթե համակարգը փակված է կամ վերագործարկվի, քանի դեռ կազմաձևման ֆայլում նշված ուշացումն անցել է: Anacron-ի միջոցով դուք կարող եք ավտոմատացնել սովորական առաջադրանքները և համոզվել, որ դրանք կատարվում են ճիշտ ժամանակին, առանց անհանգստանալու, թե արդյոք համակարգը աշխատում է, թե ոչ: