দুটি এক্সপ্রেশনই বুধবার সকালের মতো দেখায়, কিন্তু তার মধ্যে কেবল একটিই বোঝায় একবার। 0 10 * * 3 বুধবার 10:00-টায় চলে; * 10 * * 3 দশটার ঘণ্টার প্রতিটি মিনিটে চলে, একই টানেল চালু করার ষাটটি সুযোগ। যদি কমান্ডটি এমন লঞ্চার হয় যা বিদ্যমান সেশন যাচাই করে না, তবে দ্বিতীয় সংস্করণটি শিডিউলিং ভুল নয়, এটি এমন একটি লুপ যা প্রতিদ্বন্দ্বী মালিক তৈরি করে। অন্য কিছু পড়ার আগে মিনিট ফিল্ড পড়ুন।

পাঁচটি ফিল্ড হলো মিনিট, ঘণ্টা, মাসের দিন, মাস এবং সপ্তাহের দিন, এই ক্রমে, এবং প্রথমটিতে তারা চিহ্ন মানে প্রতিটি মিনিট।

মিনিট ফিল্ডই ঠিক করে কতবার

শুরুতে থাকা সংখ্যাটি মিনিট, তাই 0 10 * * 3 বুধবার দশম ঘণ্টার প্রথম মিনিট। এটি তারা দিয়ে বদলালে ঘণ্টা ও দিন অপরিবর্তিত থাকে কিন্তু কেবল-একবার বৈশিষ্ট্যটি হারায়, ফলে ষাটটি মিল তৈরি হয়। Cron পুনরাবৃত্তি সরায় না: প্রতিটি মিল কমান্ডটি আবার চালু করে। এটি cron সম্পর্কে সূক্ষ্মতা নয়, এটি ফিল্ডের অর্থবিশেষ, এবং ইনস্টল করা শিডিউলারের রেফারেন্স পড়া উচিত, কারণ ফিল্ডের ক্রম ও ঐচ্ছিক ইউজারনেম কলাম ব্যবহারকারী ও সিস্টেম crontab-এ আলাদা।

একদিন ধরে নিজের টাইমস্ট্যাম্প লেখে এমন নিরীহ কমান্ড দিয়ে পরীক্ষা করুন। লগে এক লাইন মানে শিডিউল; এক ঘণ্টার মধ্যে ষাট লাইন মানে শিক্ষা।

দ্বিতীয় লঞ্চ প্রথমটির সঙ্গে কী করে

সুশীল লঞ্চার লক্ষ করে সংযোগ ইতিমধ্যে চালু আছে এবং কিছুই করে না। কাঁচা openvpn আহ্বান তা করে না: এটি আরেকটি প্রসেস তৈরি করে, ডিভাইস বা পোর্ট বাইন্ড করার আরেকটি চেষ্টা, এবং একই গন্তব্যের জন্য প্রতিদ্বন্দ্বিতা করা আরেকটি রুটের সেট। NetworkManager-এ একটি সংযোগের জন্য পুনরাবৃত্ত সক্রিয়করণ অনুরোধ সাধারণত আইডেম্পোটেন্ট, আর ঠিক এজন্যই সমস্যাটি লুকানো থাকে যতক্ষণ না কেউ ভিন্ন কমান্ড ব্যবহার করে। শিডিউলের উচিত ইতিমধ্যে টানেল পরিচালনা করা মালিকের কাছে জিজ্ঞাসা করা।

তারপর ঠিক করুন সংযোগ তৈরি হওয়ার সময় একটি অনুরোধের অর্থ কী। নকল সক্রিয়করণ বা অপেক্ষমাণ শুরুর সারি, কোনোটিই স্পষ্টভাবে সঠিক নয়; একটি বেছে নিন এবং লঞ্চারকে তা বাস্তবায়ন করতে দিন, শিডিউলারকে দৈবক্রমে সিদ্ধান্ত নিতে দেবেন না।

কমান্ডের আগে ফিল্ড গুনুন

ব্যবহারকারী ও সিস্টেম crontab-এর মধ্যে পার্থক্য হলো কমান্ডের আগে ইউজারনেম কলাম আছে কি না। একটির থেকে অন্যটিতে কপি করা এন্ট্রি হয় ভুল অ্যাকাউন্টে চলে, নয়তো ইউজারনেমটিকে কমান্ডের প্রথম শব্দ হিসেবে পাঠায়। নির্দেশিকার বদলে ইনস্টল করা রেফারেন্স দেখুন, এবং নিজের লাইনের ফিল্ড গুনুন। কমান্ডের আগে ষষ্ঠ শব্দসহ পাঁচ-ফিল্ডের এন্ট্রি সিস্টেম crontab; ব্যবহারকারী crontab-এ একই লাইন ওই শব্দটিকে প্রোগ্রাম হিসেবে চালানোর চেষ্টা করে।

নির্বাহ পরিচয় সঙ্গে পরিবেশ বহন করে। একটি cron কাজ আনলক করা কীরিং, ইন্টারঅ্যাকটিভ পাসওয়ার্ড প্রম্পট বা আপনি যে ওয়ার্কিং ডিরেক্টরিতে পরীক্ষা করেছেন তা উত্তরাধিকারসূত্রে পায় না।

ঘড়ির জন্য নয়, প্রস্তুতির জন্য অপেক্ষা করুন

সফল লঞ্চ মানে কাজ করা টানেল নয়। কাজটি শেষ হওয়ার সময় ক্লায়েন্ট এখনো তার এন্ডপয়েন্ট রিজলভ করছে, প্রমাণীকরণ করছে বা রুট ইনস্টল করছে। নির্ভরশীল যেকোনো কাজের উচিত নির্দিষ্ট সংখ্যক সেকেন্ডের বদলে তার প্রকৃত প্রয়োজনীয় সুরক্ষিত রিসোর্সের জন্য অপেক্ষা করা, সীমিত টাইমআউট ও লগ করা ব্যর্থতাসহ। এই পার্থক্যই বেশিরভাগ ক্ষেত্রে কাজ করা শিডিউলকে ব্যস্ত সকালে নীরবে ব্যর্থ হওয়া শিডিউল থেকে আলাদা করে।

যদি সেই সময়ে ইন্টারঅ্যাকটিভ MFA প্রয়োজন হয়, কাজটি একজন মানুষের দৃষ্টি আকর্ষণ করতে পারে কিন্তু উত্তরটি দিতে পারে না। পুনর্ব্যবহারযোগ্য পাসওয়ার্ড এমবেড করা বা অনন্তকাল পুনরায় চেষ্টা করার বদলে সেই ক্ষেত্রটি স্পষ্ট রাখুন।

সত্যিই একবারের সক্রিয়করণের জন্য সমর্থিত ওয়ান-শট পদ্ধতি ব্যবহার করুন। যে পুনরাবৃত্ত নিয়ম মনে রাখতে ও সরাতে হয়, তা ভবিষ্যতের নকল লঞ্চ।

সম্পর্কিত নিবন্ধ