আপনি যদি প্রতি n
মিনিটে ক্রোন চালাতে চান তবে এর মান অনুসারে কয়েকটি সম্ভাব্য বিকল্প রয়েছে n
।
n
60 ভাগ করে (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30)
এখানে, /
দ্রষ্টব্যটি স্বরলিপিটি ব্যবহার করে সহজবোধ্য :
m-59/n * * * * command
উপরে সালে n
মান উপস্থাপন করে n
এবং m
চেয়ে ছোট একটি মান প্রতিনিধিত্ব করে n
বা *
। এটি কয়েক মিনিটে কমান্ডটি কার্যকর করবেm,m+n,m+2n,...
n
60 ভাগ করে না
যদি n
60 ভাগ না করে, আপনি ক্রোন দিয়ে পরিষ্কারভাবে এটি করতে পারবেন না তবে এটি সম্ভব। এটি করার জন্য আপনাকে ক্রোনটিতে একটি পরীক্ষা করাতে হবে যেখানে পরীক্ষা সময়টি পরীক্ষা করে। UNIX টাইমস্ট্যাম্পটি দেখার পরে এটি সর্বশ্রেষ্ঠ করা হয়, তার পর থেকে মোট সেকেন্ড 1970-01-01 00:00:00 UTC
। ধরা যাক আমরা প্রথমবারের মতো কমান্ডটি চালানো শুরু করতে চাই যখন মার্টি ম্যাকফ্লাই রিভারডালে উপস্থিত হয়েছিল এবং তারপরে প্রতি n
মিনিট পরে এটি পুনরাবৃত্তি করে ।
% date -d '2015-10-21 07:28:00' +%s
1445412480
-10 42
2015-10-21 07:28:00 'এর পরে প্রতি nd মিনিটে ক্রোনজব চালানোর জন্য , ক্রন্টাবটি দেখতে এই রকম হবে:
* * * * * minutetestcmd "2015-10-21 07:28:00" 42 && command
সঙ্গে minutetestcmd
হিসাবে সংজ্ঞায়িত করা
#!/usr/bin/env bash
starttime=$(date -d "$1" "+%s")
now=$(date "+%s")
minutes=$(( (now - starttime) / 60 ))
modulo=$2
(( now >= starttime )) && (( minutes % modulo == 0 ))
মন্তব্য: ইউনিক্স সময় লিপ সেকেন্ড দ্বারা প্রভাবিত হয় না
মন্তব্য: cron
কোন উপ-দ্বিতীয় নির্ভুলতা আছে