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 საჭიროა, დავალებას შეუძლია ადამიანის ყურადღება მოითხოვოს, მაგრამ ვერ მოგვცემს პასუხს. ეს შემთხვევა ცხადად დატოვეთ, ნაცვლად განმეორებადი პაროლის ჩაშენებისა ან უსასრულო ხელახალი ცდისა.
ნამდვილად ერთჯერადი აქტივაციისთვის გამოიყენეთ მხარდაჭერილი ერთჯერადი მექანიზმი. განმეორებადი წესი, რომელიც უნდა დაიმახსოვრო და წაშალო, მომავალი ორმაგი გაშვებაა.