کرون کو سمجھنا اور استعمال کرنا: نوکریوں کے شیڈول کے لیے ایک جامع گائیڈ
کرون، مختصرا کمانڈ آن لائن چلائیں۔یونکس جیسے آپریٹنگ سسٹمز میں ایک طاقتور ٹائم بیسڈ جاب شیڈولر ہے۔ اصطلاح کرون لفظ پر ایک ڈرامہ ہے۔ kronos or سے Chronos، جو یونانی افسانوں میں وقت کی نمائندگی کرتا ہے۔ وقت پر مبنی جاب شیڈیولر کا نام کرون مخصوص اوقات یا وقفوں پر کاموں کو شیڈول کرنے اور ان کو انجام دینے کے اس کے فنکشن کی عکاسی کرتا ہے، جس سے یہ افسانہ میں وقت کے تصور کا ایک موزوں حوالہ ہے۔
کرون آپ کو دہرائے جانے والے کاموں کو خودکار کرنے، مخصوص وقفوں پر اسکرپٹس کو چلانے اور سسٹم کی کارکردگی کو برقرار رکھنے کی اجازت دیتا ہے۔ یہ جامع گائیڈ آپ کو کرون کے بارے میں جاننے کے لیے درکار ہر چیز کے بارے میں بتائے گا، انسٹالیشن سے لے کر استعمال تک، کلیدی الفاظ اور اصلی کوڈ کے نمونے۔
کی میز کے مندرجات
- کرون کیا ہے؟
- کرون انسٹال کرنا
- بنیادی تصورات اور اصطلاحات
- کرون سنٹیکس
- مثالیں اور استعمال کے کیسز
- عام نقصانات اور بہترین طرز عمل
- اضافی کرون وسائل
کرون کیا ہے؟
کرون ایک ڈیمون (پس منظر کا عمل) ہے جو لینکس اور میک او ایس سمیت یونکس پر مبنی سسٹمز پر چلتا ہے۔ اس کا بنیادی مقصد طے شدہ کاموں کو خود بخود انجام دینا ہے۔ یہ کام سادہ سکرپٹ سے لے کر سسٹم مینٹیننس اور بیک اپ تک ہوسکتے ہیں۔
کرون انسٹال کرنا
زیادہ تر یونکس جیسے سسٹمز میں، کرون پہلے سے انسٹال ہوتا ہے۔ آپ ٹرمینل کھول کر اور ٹائپ کرکے اس کی دستیابی کو چیک کر سکتے ہیں:
crontab -e
اگر یہ کمانڈ کرون ٹیبل ایڈیٹر کو کھولتا ہے، تو آپ نے کرون انسٹال کر لیا ہے۔ اگر نہیں، تو آپ اسے اپنے سسٹم کے پیکیج مینیجر کا استعمال کرکے انسٹال کرسکتے ہیں۔ مثال کے طور پر، Ubuntu پر، آپ استعمال کر سکتے ہیں:
sudo apt-get install cron
کرون تصورات اور اصطلاحات
کرون کے استعمال میں غوطہ لگانے سے پہلے، آئیے کچھ ضروری تصورات اور اصطلاحات کو سمجھیں:
- کرونٹاب: مختصرا کرون ٹیبلیہ ایک فائل ہے جس میں صارف کے لیے طے شدہ کاموں کی فہرست ہوتی ہے۔
- کرون جاب: ایک واحد کام یا کمانڈ جو ایک مخصوص وقت پر چلنے کے لیے مقرر ہے۔
- قطعات: ہر کرون جاب میں پانچ فیلڈز ہوتے ہیں جو اس بات کی وضاحت کرتے ہیں کہ جاب کب چلتا ہے:
- منٹ (0-59)
- گھنٹہ (0-23)
- مہینے کا دن (1-31)
- مہینہ (1-12)
- ہفتے کا دن (0-7، جہاں 0 اور 7 دونوں اتوار کی نمائندگی کرتے ہیں)
کرون سنٹیکس
کرونٹاب اندراج کے نحو کو سمجھنا بہت ضروری ہے۔ یہ پیٹرن کی پیروی کرتا ہے:
* * * * * command-to-be-executed
یہاں ایک تبصرہ کردہ وضاحت ہے جسے آپ اپنی کرون جاب میں داخل کر سکتے ہیں:
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
ہر ستارہ (*) کرون ایکسپریشن میں ایک فیلڈ کی نمائندگی کرتا ہے۔ مثال کے طور پر، ہر روز 3:30 PM پر کسی کام کو شیڈول کرنے کے لیے، آپ استعمال کریں گے:
30 15 * * * command-to-be-executed
کرون کی مثالیں اور استعمال کے کیسز
آئیے کرون کے استعمال کو واضح کرنے کے لیے کچھ عملی مثالیں دیکھیں:
- روزانہ اسکرپٹ چلانا: ہر روز آدھی رات کو اسکرپٹ پر عمل کرنے کے لیے، آپ استعمال کر سکتے ہیں:
0 0 * * * /path/to/script.sh
- ہر گھنٹے ایک اسکرپٹ چلانا: ایک گھنٹے کے کام کے لیے، استعمال کریں:
0 * * * * /path/to/script.sh
- ہفتہ وار بیک اپ: اتوار کو صبح 2 بجے ہفتہ وار بیک اپ شیڈول کرنے کے لیے، استعمال کریں:
0 2 * * 0 /path/to/backup-script.sh
- مخصوص مہینوں پر ٹاسک چلانا: صرف جنوری اور جولائی میں صبح 8:30 بجے نوکری چلانے کے لیے:
30 8 * 1,7 * /path/to/script.sh
کرون کے نقصانات اور بہترین طرز عمل
- ماحولیاتی تغیرات: اس بات کو یقینی بنائیں کہ آپ کی کرون جابز ضروری ماحولیاتی متغیرات مرتب کرتی ہیں، کیونکہ کرون جابز آپ کے شیل کے ماحولیاتی متغیرات کو وراثت میں نہیں لیتے ہیں۔
- اجازت: اس بات کو یقینی بنائیں کہ آپ نے اپنی اسکرپٹ فائل کی اجازت کو قابل عمل کے طور پر سیٹ کیا ہے۔ ہر بار جب میں اپنی اسکرپٹ کو دوبارہ محفوظ کروں گا، مجھے اپنی اجازتوں کو دوبارہ سیٹ کرنے کی ضرورت محسوس ہوگی!
- پاتھ متغیرات: متعلقہ راستوں سے متعلق مسائل سے بچنے کے لیے اپنی کرون جابز کے اندر ایگزیکیوٹیبلز اور اسکرپٹس کے لیے مکمل راستے کی وضاحت کریں۔
- ٹیسٹنگ: اہم کرون جابز قائم کرنے سے پہلے انہیں محفوظ ماحول میں جانچیں تاکہ یہ یقینی بنایا جا سکے کہ وہ توقع کے مطابق کام کرتے ہیں۔
- لاگنگ: اپنی کرون جابز کے آؤٹ پٹ کو لاگ فائل میں ری ڈائریکٹ کریں تاکہ ان کی تکمیل اور کسی بھی ممکنہ خرابیوں کو ٹریک کیا جا سکے۔
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
یہ کرون جاب اسکرپٹ چلاتا ہے۔ /path/to/script.sh
ہر روز آدھی رات کو، اور اسکرپٹ کے ذریعہ تیار کردہ آؤٹ پٹ (stdout اور stderr دونوں) لاگ فائل میں شامل کیا جاتا ہے
/path/to/cron.log
. نگرانی اور ٹربل شوٹنگ کے مقاصد کے لیے کرون جابز کے آؤٹ پٹ کو کیپچر اور لاگ کرنا ایک عام عمل ہے۔ آئیے اس مخصوص کرون جاب نحو کو توڑتے ہیں:
- *0 0* *: یہ حصہ شیڈول کی وضاحت کرتا ہے کہ کرون جاب کب چلنا چاہیے۔ اس صورت میں، یہ ہر روز آدھی رات کو (0 منٹ گزرے 0 گھنٹے) کے لیے شیڈول ہے۔
- /path/to/script.sh: یہ وہ کمانڈ یا اسکرپٹ ہے جس پر عمل کرنے کے لیے کرون جاب چلتا ہے۔ یہ مثال ایک اسکرپٹ کو دکھاتی ہے جس پر واقع ہے۔
/path/to/script.sh
. - >> /path/to/cron.log: یہ حصہ کرون جاب کے معیاری آؤٹ پٹ (stdout) کو نام کی لاگ فائل میں بھیجتا ہے۔
cron.log
واقع ہے/path/to/
.>>
آپریٹر آؤٹ پٹ کو لاگ فائل میں شامل کرتا ہے، لہذا اگر فائل موجود نہیں ہے، تو اسے بنایا جائے گا، اور اگر یہ پہلے سے موجود ہے، تو آؤٹ پٹ فائل کے آخر میں شامل ہوجائے گا۔ - 2> & 1: یہ معیاری آؤٹ پٹ (stdout) اور معیاری غلطی (stderr) دونوں کو ایک ہی لاگ فائل میں ری ڈائریکٹ کرنے کے لیے استعمال ہوتا ہے۔ دی
2
stderr، اور کی نمائندگی کرتا ہے۔1
stdout کی نمائندگی کرتا ہے۔ تو،2>&1
اس کا مطلب ہے کہ stdout اور stderr دونوں کو اسی لاگ فائل میں ری ڈائریکٹ کیا جاتا ہے جس کی پہلے وضاحت کی گئی تھی۔
کرون یونکس پر مبنی سسٹمز پر کاموں کو خودکار کرنے کے لیے ایک قابل قدر ٹول ہے۔ اس کے لچکدار شیڈولنگ کے اختیارات کے ساتھ، یہ نظام کے انتظام کو آسان بنا سکتا ہے اور کارکردگی کو بہتر بنا سکتا ہے۔ اس کے نحو کو سمجھ کر اور بہترین طریقوں پر عمل کر کے، آپ اپنے معمول کے کاموں کو مؤثر طریقے سے خودکار بنانے کے لیے کرون کی طاقت کا استعمال کر سکتے ہیں۔
اضافی کرون وسائل
- یونکس ڈیمون - ڈین ولسن