0 10 * * 3 yoki * 10 * * 3? Daqiqa maydonini o‘qing
0 10 * * 3 bir marta ishga tushadi; * 10 * * 3 bir soatda oltmish marta ishga tushadi. Daqiqa maydonini o‘qing, maydonlar tartibini tekshiring, so‘ng soatni emas, tayyorlikni kuting.
Ikkala ifoda ham chorshanba tongiga o‘xshaydi va faqat bittasi bir marta degani. 0 10 * * 3 chorshanba kuni 10:00 da ishga tushadi; * 10 * * 3 o‘ninchi soatning har bir daqiqasida ishga tushadi, o‘sha tunnelni boshlash uchun oltmish imkoniyat. Agar buyruq mavjud sessiyani tekshirmaydigan ishga tushirgich bo‘lsa, ikkinchi variant rejalashtirish xatosi emas, raqib egalar yaratadigan sikldir. Boshqa narsani o‘qishdan oldin daqiqa maydonini o‘qing.
Beshta maydon — daqiqa, soat, oyning kuni, oy va hafta kuni, shu tartibda, va birinchisidagi yulduzcha har bir daqiqani bildiradi.
Daqiqa maydoni necha marta ekanini belgilaydi
Yetakchi raqam daqiqa, shuning uchun 0 10 * * 3 chorshanbadagi o‘ninchi soatning birinchi daqiqasi. Uni yulduzcha bilan almashtirish soat va kunni saqlaydi va bir-marta-xos xususiyatini yo‘qotadi, bu oltmish moslik beradi. Cron takrorlarni olib tashlamaydi: har bir moslik buyruqni qayta ishga tushiradi. Bu cron haqidagi mayda gap emas, bu maydonlar semantikasi, va o‘rnatilgan rejalashtirgichning ma’lumotnomasini o‘qishga arziydi, chunki maydonlar tartibi va ixtiyoriy foydalanuvchi nomi ustuni foydalanuvchi va tizim crontab’ida farq qiladi.
Bir kun davomida o‘z vaqt belgisini yozib boradigan zararsiz buyruq bilan sinab ko‘ring. Jurnaldagi bir satr — jadval; bir soatdagi oltmish satr — saboq.
Ikkinchi ishga tushirish birinchisiga nima qiladi
Odobli ishga tushirgich ulanish allaqachon faol ekanini payqaydi va hech narsa qilmaydi. Xom openvpn chaqiruvi bunday qilmaydi: u yana bir jarayon, qurilma yoki portni bog‘lashga yana bir urinish va o‘sha manzillar uchun raqobatlashuvchi yana bir marshrutlar to‘plamini yaratadi. NetworkManager’da bitta ulanish uchun takroriy faollashtirish so‘rovlari odatda idempotent bo‘ladi va aynan shuning uchun muammo kimdir boshqa buyruq ishlatmaguncha yashirin qoladi. Jadval tunnelni allaqachon boshqarayotgan egadan so‘rashi kerak.
So‘ng ulanish o‘rnatilayotganda so‘rov nimani anglatishini hal qiling. Na ikki marta faollashtirish, na kutayotgan ishga tushirishlar navbati aniq to‘g‘ri emas; birini tanlang va ishga tushirgich uni amalga oshirsin, rejalashtirgich tasodifan qaror qabul qilishiga yo‘l qo‘ymang.
Buyruqdan oldin maydonlarni sanang
Foydalanuvchi va tizim crontab’i buyruqdan oldin foydalanuvchi nomi ustuni bor-yo‘qligi bilan farq qiladi. Ular orasida ko‘chirilgan yozuv yo noto‘g‘ri hisobda ishlaydi, yo foydalanuvchi nomini buyruqning birinchi so‘zi sifatida uzatadi. Qo‘llanma emas, o‘rnatilgan ma’lumotnomani tekshiring va o‘z satringizdagi maydonlarni sanang. Buyruqdan oldin oltinchi so‘zi bor besh maydonli yozuv tizim crontab’i; foydalanuvchi crontab’idagi o‘sha satr o‘sha so‘zni dastur sifatida ishga tushirishga urinadi.
Ijro identifikatori muhitni o‘zi bilan olib yuradi. Cron vazifasi ochilgan kalit halqasini, interaktiv parol so‘rovini yoki siz sinov o‘tkazgan ish katalogini meros olmaydi.
Soatni emas, tayyorlikni kuting
Muvaffaqiyatli ishga tushirish hali ishlayotgan tunnel emas. Vazifa tugaganda mijoz hali o‘z oxirgi nuqtasini hal qilayotgan, autentifikatsiyadan o‘tayotgan yoki marshrutlarni o‘rnatayotgan bo‘lishi mumkin. Har qanday bog‘liq vazifa belgilangan soniyalar emas, o‘ziga haqiqatan kerak bo‘lgan himoyalangan resursni kutishi kerak, cheklangan vaqt va jurnalga yozilgan muvaffaqiyatsizlik bilan. Aynan shu farq ko‘p hollarda ishlaydigan jadvalni band tongda jimgina muvaffaqiyatsiz bo‘ladigan jadvaldan ajratadi.
Agar o‘sha soatda interaktiv MFA talab qilinsa, vazifa odamning e’tiborini so‘rashi mumkin, ammo javobni bera olmaydi. Qayta ishlatiladigan parolni joylashtirish yoki cheksiz qayta urinish o‘rniga bu holatni ochiq saqlang.
Haqiqatan bir martalik faollashtirish uchun qo‘llab-quvvatlanadigan bir martalik mexanizmdan foydalaning. Esda saqlanib, olib tashlanishi kerak bo‘lgan takroriy qoida kelajakdagi qo‘sh ishga tushirish.