0 10 * * 3 թե * 10 * * 3. Կարդացեք րոպեի դաշտը
0 10 * * 3-ը գործարկվում է մեկ անգամ; * 10 * * 3-ը գործարկվում է ժամում վաթսուն անգամ: Կարդացեք րոպեի դաշտը, ստուգեք դաշտերի հերթականությունը, ապա սպասեք պատրաստությանը, ոչ թե ժամացույցին:
Երկու արտահայտություններն էլ նման են չորեքշաբթի առավոտվան, և դրանցից միայն մեկն է նշանակում մեկ անգամ: 0 10 * * 3 գործարկվում է չորեքշաբթի 10:00-ին; * 10 * * 3 գործարկվում է տասներորդ ժամի յուրաքանչյուր րոպեին, վաթսուն հնարավորություն սկսելու նույն թունելը: Եթե հրամանը գործարկիչ է, որը չի ստուգում գոյություն ունեցող նստաշրջանը, երկրորդ տարբերակը պլանավորման սխալ չէ, այլ ցիկլ է, որն ստեղծում է մրցակցող սեփականատերեր: Կարդացեք րոպեի դաշտը նախքան որևէ այլ բան կարդալը:
Հինգ դաշտերն են րոպեն, ժամը, ամսվա օրը, ամիսը և շաբաթվա օրը, այդ հերթականությամբ, և առաջինում աստղանիշը նշանակում է ամեն րոպե:
Րոպեի դաշտը որոշում է, թե քանի անգամ
Առաջին թիվը րոպեն է, ուստի 0 10 * * 3-ը չորեքշաբթի տասներորդ ժամի առաջին րոպեն է: Աստղանիշով փոխարինելը պահպանում է ժամը և օրը և հեռացնում է մեկ-անգամ հատկությունը, ինչը ստեղծում է վաթսուն համընկնում: cron-ը չի հեռացնում կրկնօրինակները. յուրաքանչյուր համընկնում նորից գործարկում է հրամանը: Սա cron-ի նրբություն չէ, դա դաշտերի իմաստաբանություն է, և արժե կարդալ տեղադրված պլանավորիչի տեղեկատուն, քանի որ դաշտերի հերթականությունը և ըստ ցանկության օգտանվան սյունակը տարբերվում են օգտվողի և համակարգի crontab-ներում:
Փորձեք անվնաս հրամանով, որը մեկ օր գրանցում է իր ժամանակի կնիքը: Մեկ տող մատյանում ժամանակացույց է. վաթսուն տող մեկ ժամում դաս է:
Ինչ է անում երկրորդ գործարկումը առաջինի հետ
Լավ դաստիարակված գործարկիչը նկատում է, որ կապն արդեն ակտիվ է, և ոչինչ չի անում: Հում openvpn կանչը ոչ. այն ստեղծում է ևս մեկ գործընթաց, ևս մեկ փորձ՝ կապելու սարք կամ պորտ, և ևս մեկ երթուղիների հավաքածու, որը մրցում է նույն նպատակակետերի համար: NetworkManager-ում մեկ կապի կրկնվող ակտիվացման հայտերը սովորաբար իդեմպոտենտ են, և հենց դրա պատճառով խնդիրը մնում է թաքնված, մինչև ինչ-որ մեկն այլ հրաման օգտագործի: Ժամանակացույցը պետք է հարցնի այն սեփականատիրոջը, ով արդեն կառավարում է թունելը:
Ապա որոշեք, թե ինչ է նշանակում հայտը, մինչ կապը միանում է: Ոչ կրկնակի ակտիվացումը, ոչ սպասող գործարկումների հերթը ակնհայտորեն ճիշտ չեն. ընտրեք մեկը և թող գործարկիչը իրականացնի այն, փոխանակ պլանավորիչը պատահաբար որոշի:
Հաշվեք դաշտերը հրամանից առաջ
Օգտվողի և համակարգի crontab-ները տարբերվում են նրանով, թե արդյոք հրամանից առաջ հայտնվում է օգտանվան սյունակ: Նրանց միջև պատճենված գրառումը կամ աշխատում է սխալ հաշվով, կամ օգտանունը փոխանցում է որպես հրամանի առաջին բառ: Ստուգեք տեղադրված տեղեկատուն, ոչ թե ուղեցույց, և հաշվեք դաշտերը ձեր սեփական տողում: Հինգ դաշտով գրառումը, որից առաջ կա վեցերորդ բառ, համակարգի crontab է. նույն տողը օգտվողի crontab-ում փորձում է այդ բառը գործարկել որպես ծրագիր:
Կատարման ինքնությունը իր հետ տանում է միջավայրը: cron առաջադրանքը չի ժառանգում բացված բանալիների շղթա, ինտերակտիվ գաղտնաբառի հուշում կամ աշխատանքային պանակը, որտեղ դուք փորձարկել եք:
Սպասեք պատրաստությանը, ոչ թե ժամացույցին
Հաջող գործարկումը դեռ աշխատող թունել չէ: Հնարավոր է, որ հաճախորդը դեռ լուծում է իր վերջնակետը, նույնականացնում է կամ տեղադրում է երթուղիներ, երբ առաջադրանքն ավարտվում է: Ցանկացած կախյալ առաջադրանք պետք է սպասի իրեն իսկապես անհրաժեշտ պաշտպանված ռեսուրսին՝ սահմանափակ ժամկետով և գրանցված ձախողմամբ, այլ ոչ թե ֆիքսված վայրկյանների: Այդ տարբերությունն է, որ առանձնացնում է հիմնականում աշխատող ժամանակացույցը նրանից, որը լուռ ձախողվում է զբաղված առավոտյան:
Եթե այդ ժամին պահանջվում է ինտերակտիվ MFA, առաջադրանքը կարող է մարդու ուշադրություն խնդրել, բայց չի կարող տալ պատասխանը: Այդ դեպքը պահեք բացահայտ՝ փոխանակ կրկնակի օգտագործվող գաղտնաբառ ներդնելու կամ անվերջ կրկնելու:
Իսկապես մեկանգամյա ակտիվացման համար օգտագործեք աջակցվող մեկանգամյա մեխանիզմը: Կրկնվող կանոնը, որը պետք է հիշել և հեռացնել, ապագա կրկնակի գործարկում է: