د کرون پوهه او کارول: د دندې مهالویش لپاره جامع لارښود
کرونلپاره لنډ ، کمانډ آنلاین چلول، د یونیکس په څیر عملیاتي سیسټمونو کې د وخت پراساس د دندې مهالویش ځواکمن دی. اصطلاح cron په کلمه یوه لوبه ده kronos or کرونسونه، کوم چې په یوناني افسانه کې د وخت استازیتوب کوي. د وخت پراساس د دندې مهالویش کونکي لپاره نوم کرون په ځانګړي وخت یا وقفو کې د دندو د مهالویش او اجرا کولو فعالیت منعکس کوي ، دا په افسانه کې د وخت مفهوم ته مناسب حواله جوړوي.
کرون تاسو ته اجازه درکوي تکراري دندې اتومات کړئ ، په ځانګړي وقفو کې سکریپټونه اجرا کړئ ، او د سیسټم موثریت وساتئ. دا هراړخیز لارښود به تاسو ته د هر هغه څه له لارې وګرځي چې تاسو ورته اړتیا لرئ د کرون په اړه پوه شئ ، له نصب څخه تر کارولو پورې ، کلیدي لغتونه ، او د اصلي کوډ نمونې.
فهرست
- کرون څه شی دی؟
- د کرون نصب کول
- بنسټیز مفهومونه او اصطلاحات
- د کرون ترکیب
- مثالونه او د کارونې قضیې
- عام زیانونه او غوره کړنې
- د کرون اضافي سرچینې
کرون څه شی دی؟
کرون یو ډیمون (د شالید پروسه) ده چې د یونیکس میشته سیسټمونو پرمخ ځي ، پشمول لینکس او میکوس. د دې اصلي هدف په اوتومات ډول ټاکل شوي دندې اجرا کول دي. دا دندې کولی شي د ساده سکریپټونو څخه د سیسټم ساتنې او بیک اپ پورې وي.
د کرون نصب کول
د یونیکس په څیر ډیری سیسټمونو کې، کرون دمخه نصب شوی. تاسو کولی شئ د ټرمینل په خلاصولو او ټایپ کولو سره د دې شتون چیک کړئ:
crontab -e
که دا کمانډ د کرون میز مدیر خلاص کړي، تاسو کرون نصب کړی. که نه، تاسو کولی شئ دا د خپل سیسټم بسته مدیر په کارولو سره نصب کړئ. د مثال په توګه، په اوبنټو کې، تاسو کولی شئ وکاروئ:
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 بجو د دندې مهالویش لپاره، تاسو به وکاروئ:
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 ورته لاګ فایل ته لیږل شوي چې دمخه مشخص شوي.
کرون د یونیکس پراساس سیسټمونو کې د دندو اتومات کولو لپاره ارزښتناکه وسیله ده. د دې انعطاف منونکي مهالویش انتخابونو سره ، دا کولی شي د سیسټم اداره ساده کړي او موثریت ته وده ورکړي. د دې ترکیب په پوهیدو او غوره کړنو تعقیبولو سره ، تاسو کولی شئ د کرون ځواک څخه کار واخلئ ترڅو خپل ورځني کارونه په مؤثره توګه اتومات کړئ.
د کرون اضافي سرچینې
- یونیکس ډیمون - ډین ولسن