تعارف
لینکس میں ڈیمون موجود ہے جس میں سیون نام ہے جو باقاعدگی سے وقفے پر عمل چلانے کے لئے استعمال کیا جاتا ہے.
ایسا کرنے کا طریقہ یہ ہے کہ آپ کے سسٹم پر کچھ فولڈرز کو چلانے کیلئے اسکرپٹ پر چیک کریں. مثال کے طور پر /etc/cron.hourly، /etc/cron.daily، /etc/cron.weekly اور /etc/cron.monthly نامی ایک فولڈر ہے. ایک فائل بھی ہے جس میں / وغیرہ / کرونٹاب.
پہلے سے طے شدہ طور پر آپ سکرپٹ کو متعلقہ فولڈرز میں باقاعدگی سے وقفے چلانے کے لۓ صرف جگہ لے سکتے ہیں.
مثال کے طور پر ایک ٹرمینل ونڈو (CTRL، ALT اور T پریس کرکے) اور مندرجہ ذیل LS کمانڈ چلائیں:
LS / etc / cron *
آپ اس پروگراموں یا سکرپٹ کی فہرست دیکھیں گے جو گھڑی، روزانہ، ہفتہ وار اور ماہانہ چلاتے ہیں.
ان فولڈروں کے ساتھ مصیبت یہ ہے کہ وہ تھوڑا سا واضح ہیں. مثال کے طور پر روزانہ کا مطلب یہ ہے کہ سکرپٹ دن میں ایک بار چل جائے گا لیکن اس وقت آپ کے پاس کوئی کنٹرول نہیں ہے جسے اسکرپٹ اس دن چلائے گا.
یہی ہے کہ کرونٹاب فائل میں آتا ہے.
کرونٹاب فائل کو ترمیم کرنے سے آپ کسی بھی سکرپٹ یا پروگرام کو صحیح تاریخ اور وقت پر چلانے کے لئے حاصل کرسکتے ہیں جو آپ اسے چلانا چاہتے ہیں. مثال کے طور پر شاید آپ ہر شام 6 بجے اپنی فائلیں بیک اپ کرنا چاہتے ہیں.
اجازت
کرونٹاب کمان کی ضرورت ہوتی ہے کہ کسی صارف کو کراونٹاب فائل میں ترمیم کرنے کی اجازت ملے. بنیادی طور پر دو فائلیں ہیں جو کرونٹاب کی اجازتوں کو منظم کرنے کے لئے استعمال کیے جاتے ہیں:
- /etc/cron.allow
- /etc/cron.deny
اگر فائل /etc/cron.allow موجود ہے تو صارف کو کرونٹاب فائل میں ترمیم کرنا چاہتے ہیں اس فائل میں ہونا ضروری ہے. اگر cron.allow فائل موجود نہیں ہے لیکن ایک /etc/cron.deny فائل موجود ہے تو اس صارف کو اس فائل میں موجود نہیں ہونا چاہئے.
اگر دونوں فائلیں موجود ہیں تو /etc/cron.allow /etc/cron.deny فائل کو اوور کر دیتا ہے.
اگر کوئی فائل موجود نہیں ہے تو، اس سسٹم پر ترتیب پر منحصر ہے کہ صارف کسی کو کرونٹاب میں ترمیم کرسکتا ہے.
جڑ صارف ہمیشہ کرونٹاب فائل میں ترمیم کرسکتا ہے. آپ کو کرونٹاب کمانڈ کو چلانے کے لئے جڑ صارف یا سڈو کمانڈ میں سوئچ کرنے کے لئے یا تو کم کمانڈ کا استعمال کرسکتے ہیں.
Crontab فائل میں ترمیم کریں
ہر صارف جس کے پاس اجازت ہے ان کی اپنی کرونٹاب فائل تشکیل دے سکتی ہے. کرون کمانڈ بنیادی طور پر ایک سے زیادہ کرونٹاب فائلوں کے وجود اور ان کے ذریعے چلتا ہے کے لئے لگ رہا ہے.
چیک کرنے کے لئے کہ آیا آپ کے پاس کراونٹاب فائل درج ذیل کمانڈر ہے:
کرونٹاب-ایل
اگر آپ کے پاس کوئی 'کرومنٹاب فائل <
crontab فائل بنانے یا ترمیم کرنے کے لئے مندرجہ ذیل کمانڈ چلائیں:
crontab -e
پہلے سے طے شدہ طور پر اگر کوئی ڈیفالٹ ایڈیٹر منتخب نہیں ہے تو آپ کو استعمال کرنے کے لئے ڈیفالٹ ایڈیٹر کو منتخب کرنے کے لئے کہا جائے گا. ذاتی طور پر میں نینو استعمال کرنا پسند کرتا ہوں کیونکہ یہ صحیح طریقے سے استعمال کرنے کے لۓ ہے اور یہ ٹرمینل سے چلتا ہے.
اس فائل کو کھولتا ہے جس میں بہت ساری معلومات ہیں لیکن اہم حصہ تبصرے سیکشن کے اختتام سے قبل مثال کے طور پر ہے (تبصرے # کے ساتھ شروع ہونے والے لائنوں کی طرف اشارہ ہیں).
# مہینہ ڈومن ڈو کمانڈ
0 5 * * 1 ٹری -ccc /var/backups/home.tgz / گھر /
کرونٹاب فائل کی ہر لائن پر فٹ ہونے کے لئے معلومات کے 6 ٹکڑے ٹکڑے ہیں:
- دن کا منٹ کمانڈ چلانا ہے (ایم)
- دن کا وقت کمان چلانا ہے (h)
- مہینے کا دن کمانڈ چلانا ہے (ڈوم)
- مہینے کو حکم چلانا ہے (مون)
- ہفتہ کا دن کمانڈ چلانا ہے (ڈاؤ)
- کمانڈر
ہر چیز کے لئے (کمانڈ کے سوا) آپ ایک وائلڈ کارڈ کے کردار کی وضاحت کرسکتے ہیں. مندرجہ ذیل مثال کے مطابق کرونٹاب لائن دیکھیں:
30 18 * * * ٹار-جی سی ایف /var/backups/home.tgz / گھر /
مندرجہ ذیل کمانڈ کیا کہہ رہا ہے 30 منٹ، 18 گھنٹے اور کسی دن، ہفتہ کے مہینے اور دن گھر ڈائریکٹری کو / var / بیک اپ فولڈر میں زپ اور ٹار کرنے کا حکم دیتا ہے.
ہر گھنٹہ سے پہلے 30 منٹ تک چلانے کے لئے ایک کمانڈ حاصل کرنے کے لئے میں مندرجہ ذیل کمانڈ چل سکتا ہوں:
30 * * * * کمانڈ
6 منٹ سے پہلے ہر منٹ کو چلانے کے لئے ایک کمانڈ حاصل کرنے کے لئے میں مندرجہ ذیل کمانڈ چل سکتا ہوں.
* 18 * * * کمانڈر
لہذا آپ کو اپنے کرونٹاب کمانڈ قائم کرنے کے بارے میں محتاط رہنا ہوگا.
مثال کے طور پر:
* * * 1 * کمانڈ
مندرجہ بالا حکم ہر ہفتے ہر روز ہر ہفتے ہر ہفتے چل جائے گی. میں شک کرتا ہوں کہ آپ کیا چاہتے ہیں.
1 جنوری کو 1 جنوری کو ایک کمانڈ کو چلانے کے لئے آپ کرونٹاب فائل میں مندرجہ ذیل کمانڈ پر کریں گے:
0 5 1 1 * کمانڈ
A Crontab فائل کو کیسے ہٹا دیں
زیادہ تر وقت آپ کو کراونٹاب فائل کو نہیں ہٹانا چاہتے ہیں لیکن آپ کرونٹاب فائل سے کچھ صفوں کو دور کرنا چاہتے ہیں.
تاہم اگر آپ اپنے صارف کے کراونٹاب فائل کو ہٹانا چاہتے ہیں تو مندرجہ ذیل کمانڈ چلائیں:
crontab -r
ایسا کرنے کا ایک محفوظ طریقہ مندرجہ ذیل کمانڈ چلانے کے لئے ہے:
Crontab -i
اس سوال سے پوچھتا ہے "کیا آپ کو یقین ہے؟" کرونٹاب فائل کو ہٹانے سے پہلے.