لوسین خپور شوی څه موده مخکې په کرون او کرونټاب کې عالي ښوونه چې زه فکر کوم د شریکولو ارزښت لري. کرون په وینډوز کې د مهال ویش سره برابر یو ډول دی، یوازې دا چې دا د ترمینل څخه اداره کیږي. هغه څوک چې ورته هدف ترلاسه کولو لپاره لید انٹرفیس غوره کوي ، کولی شي دا وګوري بل مضمون. |
کرون څه شی دی؟
کرون نوم د یوناني کرونس څخه راځي چې معنی یې "وخت" دی. د یونیکس چليز سیسټم کې ، کرون د منظم شالید پروسې مدیر دی (ډیمون) چې په منظمو وقفو کې پروسس یا سکریپټونه پرمخ وړي (د مثال په توګه ، هره دقیقه ، ورځ ، اونۍ ، یا میاشت). هغه پروسې چې باید اعدام شي او هغه وخت چې دوی باید اعدام شي په کرونټاب فایل کې مشخص شوي.
دا څنګه کار کوي؟
د کرون ډیممون پیل کیږي /etc/rc.d/ o /etc/init.d د توزیع پورې اړه لري. کرون په شاليد کې ځغلی ، هره دقیقه کې د کرونټاب ټاسک میز ګوري / etc / crontab یا په / var / spool / کرون د سرته رسيدلي دندو په لټه کې. د یو کاروونکي په توګه موږ کولی شو د کارونو سره کمانډونه یا سکریپټونه اضافه کړو ترڅو ځینې پروسې اتومات کړي. دا د مثال په توګه د سیسټم او یا د ښه بیک اپ سیسټم تازه کولو اتومات کولو لپاره ګټور دی.
کرونتب څه شی دی؟
کرونټاب یو ساده متن فایل دی چې د هغه امرونو لیست ساتي چې د کارونکي لخوا ټاکل شوي په یو وخت کې اعدام شي. کرونټاب به نیټه او وخت وګوري کله چې سکریپټ یا قومانده باید اجرا شي ، د اعدام اجازه ورکول کیږي او دا به په شاليد کې ترسره کړي. هر کارن کولی شي خپل کرینټاب فایل ولري ، په حقیقت کې / etc / crontab دا د روټ کارونکي کرونټاب فایل ګumedل کیږي ، کله چې نورمال کارونکي (او حتی روټ) غواړي خپل کرینټاب فایل تولید کړي نو بیا به موږ د کرونتاب کمانډ وکاروو.
کرونټاب د کثیر کارونکي سیسټمونو کې د کرون کارونو اداره کولو ترټولو اسانه لار ده ، که څه هم د ساده سیسټم کارونکي یا روټ کارونکي په توګه.
د کرونټاب کارول
موږ د ساده مثال سره پیل کوو.
موږ د یو سیسټم نوي کولو اتومات کولو ته ځو ، د ناخوالې له مینځه وړو لپاره "زه باید تل تازه اوسمهال ولرم او زه دا نه خوښوم!"
لومړی به موږ یو سکریپټ جوړ کړو. دا سکریپټ به د کرون لخوا وبلل شي او ټول هغه لارښوونې به ولري چې موږ یې غواړو ترسره کړي ، نو له همدې امله اړینه ده چې دا په ډیری قضیو کې ازموینه وکړو او په کرون کې مخکې له دې چې په ورته ډول ساده تازه سکریپټ شامل کړو په بیلابیلو لارو کې ازموینه وکړو:
#! / بن / بیش # سکریپټ تازه مثال مثال # ستاسو د توزیع # ډیبیان - اوبنټو # غوره کړئ & اپټ ترلاسه کول -y اپ گریډ #fedora #yum -y اپ ڈیټ # آرچ #pacman --noconfirm -Syu
# له خپل بېخاره کرښه څخه لرې کړئ. که چیرې دا اوبنټو / دیبیان وي ، نو دا د اپټ - ترلاسه کولو سره پیل کیږي.
موږ سکریپټ د update.sh په توګه خوندي کوو (د بیلګې په توګه د سکریپټ لارښود ستاسو کور). موږ د سکریپټ د اعدام اجازه پدې سره بدلې کوو:
chmod a + x ~ / سکریپټونه / update.sh
موږ سکریپټ څو ځله چلوو چې دا تایید کړو چې هرڅه په سمه توګه پرمخ ځي ، موږ هغه څه ترمیم کوو چې اړین دي (پدې کې باید غلطي شتون ونلري ، که نه نو کرون به یوازې یو ځل بیا تکرار کړي). اوس زموږ کرونټاب ته د دندې اضافه کولو لپاره.
کرونټاب ته دندې اضافه کړئ
موږ د کرونتاب نسخه د کرونټاب - سره اجرا کوو ، په ځینې اختلالاتو کې (لکه اوبنټو) دا موږ ته اختیار راکوي چې د متن مدیر غوره کړو چې موږ یې غواړو ، پاتې موږ د vi سره پاتې یو. د کرونټاب فایل به ورته یو څه ښکاري.
# کارن بولۍ کارن
چیرې:
- m د دې دقیقې سره سم سکریپټ به اجرا شي ، ارزښت یې له 0 څخه تر 59 پورې دی
- h دقیق وخت ، د 24 ساعته ب formatه اداره کیږي ، ارزښتونه له 0 څخه تر 23 پورې دي ، د 0 سره د شپې 12:00.
- dom د میاشتې ورځې ته اشاره کوي ، د مثال په توګه تاسو کولی شئ 15 مشخص کړئ که تاسو غواړئ په هرو 15 ورځو کې وځئ
- د د اونۍ ورځ معنی ده ، دا شمیره کیدی شي (له 0 څخه تر 7 پورې ، چیرې چې 0 او 7 د یکشنبه دي) یا په انګلیسي کې د ورځې لومړۍ 3 توري: مون ، منګ ، ودونه ، ګو ، فري ، سیټ ، لمر.
- د کارونکي عکس هغه کارن معرفي کوي څوک چې قومانده اجرا کوي ، دا ریښه کیدی شي ، یا یو بل کارونکی ممکن وي تر هغه چې دوی د سکریپټ اجرا کولو اجازه ولري.
- د قوماندې د اعدام کولو حکم ته د سکریپټ امر یا مطلقې لارې ته اشاره کوي ، د مثال په توګه: /home/usuario/scriptts/actualizar.sh، که دا سکریپټ ته زنګ ووهي نو دا باید اجرا شي
د دې لپاره چې د کرون دندې ځینې مثالونه روښانه شي روښانه شي:
15 10 * * * کارن / home/user/scriptts/update.sh
دا به هره ورځ د سهار په 10: 15 بجو د تازه.شټ اسکرپټ پرمخ وړي
15 22 * * * کارن / home/user/scriptts/update.sh
دا به هره ورځ د ماښام په 10: 15 بجو د تازه.شپ اسکرپټ پرمخ وړي
00 10 * * 0 د روټ apt-get -y تازه د روټ کارن
دا به هر یکشنبه د سهار په 10:00 بجو پرمخ بوځي
45 10 * * د لمر ریښه اپیټ - ګی تازه
د روټ کارونکي به هره یکشنبه (لمر) د سهار په 10: 45 بجو تازه معلومات پرمخ وړي
30 7 20 11 * کارن / home/usuario/scriptts/update.sh
د نومبر په 20 په 7:30 بجو به کارونکي سکریپټ پرمخ بوځي
30 7 11 11 لمر کاروونکی / home/usuario/scriptts/pastel_con_velitas.sh
د نومبر په 11 د سهار په 7:30 بجو او دا د یکشنبه دی ، کارونکی به خپل سیسادمین ولمانځي (دا زه دی)
01 * * * * کارن / home/usuario/scriptts/molestorecordatorio.sh
هره ورځ د هر ساعت هره یوه دقیقه یو ځورونکی یادونه (وړاندیز نه کیږي).
دوی لاهم اداره کیدی شي ځانګړي سلسلې:
30 17 * * 1,2,3,4,5
هره ورځ د ماسپخین په 5:30 بجو د دوشنبې څخه تر جمعې پورې.
00 12 1,15,28،XNUMX،XNUMX * *
د هرې میاشتې په لومړۍ ، پنځمه او 12 مه د ماسپخین 28 بجو (د معاش لپاره مناسب)
که دا مسخره وي ، کرونتاب لاس په لاس کوي د دې سلسلو مشخصولو لپاره ځانګړي تارونه.
@ ریبټ یوځل بیا ځړول ، په پیل کې
@ یارلي یوازې په کال کې یو ځل چلیږي: 0 0 1 1 *
@ په ورته ډول د @ یارلي په څیر
@ میاشت په میاشت کې یو ځل تیریږي ، لومړۍ ورځ: 0 0 1 * *
@ اونۍ په اونۍ کې د اونۍ د لومړي ساعت لومړۍ دقیقه. 0 0 * * 0 ″.
@ ورځني ، په 12:00 بجو. 0 0 * * *
@ نیمه شپه دdaily په څیر
@ د هر ساعت په لومړۍ دقیقه کې: 0 * * * *
د دې کارول خورا ساده دی.
@ ساعت کارن / home/user/scripts/molestorecordatorio.sh @ میاشتني کارن / home/user/scriptts/backup.sh @ ورځني ریټ اپټ - ترلاسه کول && apt-get -y اپ گریډ
د ترتیب له پلوه آخر د اهمیت له پلوه نه:
د کرون دندې اداره کول
کرونټاب دوتنه
د موجود کرونتاب فایل د کارن-ټاکل شوي فایل سره بدل کړئ
crontab -e
د کارونکي کرونټاب فایل سم کړئ ، هره نوې کرښه به د نوي کرانتب دنده وي.
crontab -l
د کارونکي ټولې کرونټاب دندې لیست کړئ
کرونټاب -d
د کارونکي crontab حذف کړئ
کرونټاب -c dir
د کارونکي کرونټاب لارښود تعریفوي (دا باید د کارونکي لیکلو او پلي کولو اجازه ولري)
کرونټوب کارن
د بل کارن کربټاب اداره کولو لپاره مختاړی ، مثالونه:
$ sudo crontab -l -u root $ sudo crontab -e user2 #crontab -d -u کارن
دا وسیله ، لکه د ډیری نورو په څیر ، په ډیر ژور او په تفصیل سره په لاندې برخو کې لیدلی شئ:
48 نظرونه ، خپل پریږدئ
یو… یو څه مغشوش کول.
* / 30 ورک دی (د دقیقو په میدان کې) چې هر 30 دقیقې تیریږي ...
یوازې دا زه نظر کول غواړم تر هغه چې ما د نظرونو بیاکتلو پریکړه وکړه 😀
دا بدلون کونکي د معلوماتو خورا مهم برخه او یو څه خورا ګټور دی.
سلام!
همدا اوس زه په هرو minutes 45 دقیقو کې یو سازش ازموم.
* / 45 * * * * ، او لارښوونه د هر ساعت او هر ساعت په 45 دقیقو کې اجرا کیږي. يعنې:
دا په 3:45 ، بیا په 4:00 ، 4:45 ، بیا 5:00 ، 5:45 ، 6:00 ، 6:45 ، او داسې نور.
زه یو څه غلط یم؟ زه څه کولی شم چې دا یوازې په هر 45 دقیقو کې جوړ کړم ، یا لږترلږه یو ځل په 45 ساعتونو کې په یو ساعت کې؟
سلام!
همدا اوس زه په هرو minutes 45 دقیقو کې یو سازش ازموم.
* / 45 * * * * ، او لارښوونه د هر ساعت او هر ساعت په 45 دقیقو کې اجرا کیږي. يعنې:
دا په 3:45 ، بیا په 4:00 ، 4:45 ، بیا 5:00 ، 5:45 ، 6:00 ، 6:45 ، او داسې نور.
زه یو څه غلط یم؟ زه څه کولی شم چې دا یوازې په هر 45 دقیقو کې جوړ کړم ، یا لږترلږه یو ځل په 45 ساعتونو کې په یو ساعت کې؟
سلام عالي ګټور معلومات د دې روښانه کولو لپاره چې کرون څنګه کار کوي.
بټس
د * لپاره
عالي ، د دې روښانه کولو لپاره مننه چې څنګه کرون کار کوي .. راځئ چې یو څه لږ لاس ورکړو 🙂
دا کرښه لکه څنګه چې زه پوهیږم دا به د شپې 10: 15 بجې ترسره شي ، ما سم کړئ که زه غلط یم
ښه هلته دا وايي چې د سهار 10: 15
15 22 * * * کارن / home/user/scriptts/update.sh
سلام! ډیر ښه معلومات.
په هر نیم ساعت کې د سکریپټ اجرا کولو لپاره ، هغه کرښه چې باید په کرونټاب کې اضافه شي: "30 * * * * روټ سکریپ.ش" سمه ده؟ له تاسو ډیره مننه!
نه. که زه په سمه توګه یادونه وکړم ، نو د دې لپاره تاسو باید / 30 * * * * * ریښه سکریپش.
دا دی ، مخکې / 30 اضافه کړئ.
هڅول! پاول.
سلام زه ستاسو پوسټ خوښوم ، دا خورا بشپړ دی مګر زه غواړم تاسو څخه یو څه وغواړم.
زه د دې قوماندې سره ستونزه لرم او یو یې د "at" په څیر.
زه غواړم په یو ټاکلي وخت کې یو سکریپټ چلوم او ولیکم
at -f /home/mi_user/Desk/script.sh 18:08 مثال
او سکریپټ په پرده نه اجرا کیږي ، دا چې په ترمینل کې دی ، په شاليد کې اعدام شوی؟
او د کرون سره ورته شی زما سره پیښیږي ، زه د "crontab -e" سره د کرونټاب فایل ترمیم کوم
په پای کې زه دا کرښه اضافه کوم:
46 19 زما_زر / هوم / ام_زر / ډیسک / سکریپټ.ش
او دا هیڅ نه کوي ، دا سکریپټ نه ښیې.
کومه مشوره؟ له تاسو ډیره مننه او د کومې تکلیف لپاره بخښنه غواړم
د ټرمینل څرګندیدو لپاره ، تاسو باید ټرمینل چل کړئ او سکریپټ د پیرامیټر په توګه تیر کړئ.
د مثال په توګه:
lxterminal -e "my_user /home/my_user/Desk/script.sh"
د کارول کولو پیرامیټر ممکن د ترمینل ایمولیټر پراساس چې تاسو یې کاروئ توپیر ولري.
زه امید لرم چې دا کار وکړي.
غېږ! پاول.
مرسته د ستاینې وړ ده.
10 ټکي !!
salu2!!
له تاسو څخه ډیره مننه ، دا زما سره د ځینې شیان روښانه کولو کې ډیره مرسته وکړه ، ټوله مننه ، د نورو جزیاتو یا شکونو لپاره زه به د مین پاAGEې ته لاړ شم ، سلامونه یې بیا تکرار کړل.
سړی ډیره مننه ، زه د مثالونو لوستل او ازموینه کوم. ډیره مننه ... دا خورا د پوهیدو وړ ده. هڅول
ما د اوبنټو سرور 12.04.2 LTS کارولی ، او د کرونټاب نسخه چې زه یې لرم ، د کارونکي دندې لیست حذف کولو لپاره کارول کیږي ، crontab -r (او -l ، لکه څنګه چې دا لارښود وايي). ډاډه اوسئ چې دا د نسخو په واسطه دی.
له بل پلوه ، زه یوځل یوازې کرونتاب چلوم او دا ډول اجازه راکړئ زما خپل اعدام فایل رامینځته کړم ، مګر دا هغه نه و چې اعدام شوی و. هغه څوک چې تیریږي په / etc / کرونټاب کې یو دی. شاید یو څوک به نظر وکاروي.
PS (ما د ځای موندلو او چیرې چې crontab سره پلټنه کړې مګر دا یوازې پورتنۍ پته او بل فایل چې کوډ شوی دی بیرته راوګرځید ، نو که چیرې هغه څوک چې اعدام شوی و هغه په / etc / crontab کې و ، مګر کله چې د crontab -e امر اجرا کول ، ما به څرګند شي د ټولو دندو سره چې ما تعریف کړې وه) دا فایل چیرې چیرې ساتل کیده؟ '؟؟؟؟ درناوی زه تل د ریښی سره ننوتل.
عالي ، ډیر ګټور !!!
سلام ، زه غواړم چې دا وکړم ………… «15 10 * * * روټ که هرڅه E0»
دا ، په یو ځانګړي وخت کې د شبکې کارت بند شوی دی ………… ښه ، ما دا په کرونټاب کې کېښود او دا کار ونکړ …… .. څه کیږي؟
مبارک او مننه
تاسو "کرونټاب ته دندې اضافه کړئ" سرلیک وروسته "مون" تعریف کول له لاسه ورکړ
مقاله لاهم ښه ده ، کرون خورا ګټور دی.
دا ښه پوسټ څومره ښه و ، زما څخه وپوښتئ
که زه غواړم د دندو په اجرا کولو سره پریښودل شوي ریکارډونه تعقیب کړم ، نو زه چیرته لیدلی شم؟
ایا پریکړه کیږي زه غواړم د دې فایل په تیرو وختونو کې د ترسره شوي کړنو تاریخ وګورم او زه غواړم وګورم چې چا دا او د نیټې بدلون کړی دی
gracias
زه غواړم د دې ترمیم تاریخ وګورم
زه څنګه کولی شم
gracias
ښه سهار،
زه فکر کوم چې د اوبنټو سکریپټ کې تاسو غلطي کړې ، تاسو د اپټ - ګی - اپ گریډ پرځای ap-get -y اپ گریډ کړی. (تاسو یو ټیټ پریښود).
مننه.
همداسې ده. مننه!
غېږ! پاول
زه غواړم پوه شم چې څنګه د کرون فایل رامینځته کول ترڅو د دې وړتیا ولري چې هر یو وخت وټاکل شي کله چې اعدام شوی ، ډایرکټرۍ ، او نور
د عملیاتو روښانه کولو او د کرون لپاره لومړني حکمونو څخه مننه ، اوس د یو څه لپاره ځان ساتیرۍ لپاره.
هرکله چې زه د ګانو / لینکس اړوند کومې موضوع په اړه معلومات ګورم ، زه تل په 90 او round٪ قضیو کې د دې عالي ټولنې غوره ښوونکی ومومم ، زه فکر کوم چې له نن څخه به زه دلته او بیا بل چیرې پیل وکړم.
مننه!
مننه Sander! یوه غېږه! پاول.
dom = د میاشتې ورځ
dow = د اونۍ ورځ
دا آسانه ده که تاسو ملګری شئ
ډیره مننه ، ډیر بشپړ او ښه تشریح شوی.
دا هماغه شی دی چې زما د عملیاتي سیسټمونو ښوونکي موږ ته راکړی ، زه هیڅ شی نه بدلوم ، اوس زه ګورم چې ولې ټولګی خراب دی .-. ښه ، دا د کور کار xD ورته دی.
اټکل شوی ،
پوښتنه ، ایا د کار موده محدوده کیدی شي؟
د مثال په توګه زه یو دنده لرم چې په هرو 5 دقیقو کې تکرار کوم ، په تکرار باندې که چیرې دا دنده لاهم فعاله وي ، هغه ووژنئ او بیا یې پرمخ بوځي.
مننه،
مارسیلو.-
سلام ، مارسیلو!
زه فکر کوم دا به غوره وي که تاسو زموږ پوښتنه او ځواب په خدمت کې دا پوښتنه راپورته کړئ له لینوکس څخه وپوښتۍ ترڅو ټوله ټولنه ستاسو سره ستاسو د ستونزې په حل کې مرسته وکړي.
یو غېږ ، پابلو.
ښه پوسټ.
په ټرمینل کې کوم حکم شتون لري چې په کرونټاب کې دندې اضافه کړي (پرته له دې چې کرونټاب ته ننوځي او دوی یې په مټ د 'کرونټاب-ای' سره اضافه کړي یا کرونټاب د بل کرونتب سره د 'کرونټاب فایل' سره ځای پرځای کړي).
نظر د بهرني سکریپټ رامینځته کول دي ترڅو کرونټاب ته دندې اضافه کړي
Gracias
دا ماته داسې بریښي چې تاسو کولی شئ هرڅه چې وغواړئ 'اکو' وکاروئ بلی >> 'کرونوټاب لاره (/ etc / کرونوټاب)' «
څنګه به په هرو days ورځو کې یو بیان په سمه توګه پرمخ وړي
سلام.
زه د کرون کار په اجرا کولو کې ستونزه لرم.
زه لاندې کار د کرونټا -e سره پرمخ وړم:
01 * * * * root /home/user/script/myfile.sh
مګر دنده نده ترسره شوې. ما چیک کړی دی چې myfile.sh د اعدام اجازه لري او دا چې کارن څوک دا اعداموي ریښه ده.
زه ورته دنده په / وغيره / کرونټاب کې پرمخ وړم او د خدمت له بیا پیل وروسته ، دا زما لپاره هم کار نه کوي.
د مایفایل.ش مینځپانګه یوه قومانده ده چې یو DB تازه کوي او که زه دا په کنسول کې پرمخ وړم دا کار کوي.
کومه نظر پوښتنه چې ستونزه به څه وي؟
د ډیټابیس کارونکي ممکن ټول اجازه نلري او تاسو به لومړی د خپل ډیټابیس انجن څخه د چاپیریال بدلونونه صادر کړئ.
د مثال په توګه په db2 کې دا لاین به د سکریپټ پیل ته لاړ شي
. / کور / db2inst1 / sqllib / db2 پروفایل
بل لامل یې دا کیدی شي چې سکریپټ ډیټابیس سره پیوستون ته اړتیا لري ، د سکریپټ دننه ډیټابیس سره پیوستون رامینځته کړئ
زه نه پوهیږم چې ما باید کرونډ بیا پیل کړي ، زه د یوڅه وخت لپاره له دې سره مبارزه کوله
دوی به پوه شي چې څنګه دا په ګوته کړي چې دنده د میاشتې په هر پای کې پرمخ وړل کیږي ، په هغه وخت کې چې ورته اشاره شوې .. تفصیل دا دی چې زه نشم ترلاسه کولی څنګه چې زه پوهیږم چې دا د هرې میاشتې وروستۍ ورځ نیسي ..؟ ؟؟؟ ما باید دا یو په یو لیکلي وی مګر کله چې د فبرورۍ د میاشتې پای پای ته رسي نو دا زما لپاره ستونزمن دی.
ښه ورځ!!
زه څنګه کولی شم هغه پروسې ته مخه کړم چې په کرونټاب کې اجرا کیږي؟
پروسه * …………
ایا دا کیدی شي چې تاسو زما سره مرسته وکړي؟ د minha لیکوال لخوا eu tenho um سکریپټ چې هیڅ کرونټاب کار نه کوي! Jб dei ټول جوازونه ، یو ځانګړی کرون یا کارن نه دی چې کولی شي دا اعدام کړي - خورا ډیر څه پیښیږي! زه غواړم پوه شم که تاسو زما سره مرسته کولی شئ ، ځینې نور شیان هیڅ کرون کار نه کوي! Vlws
تاسو به څنګه دنده ترسره کړئ چې د میاشتې هره وروستۍ ورځ (ورځې: 31-30-28) پرمخ بوځي؟
لکه څنګه چې تاسو پوهیږئ ، د su کمانډ په کنسول کې د کاروونکي بدلولو لپاره کارول کیږي. که زه په دې ډول کمانډ کاروم: "ستاسو کارونکي" کارونکي بدلوي مګر د "کارونکي" سم تنظیماتو پرته ، که زه su وګرځم نو: "su - کارونکي" د کارونکي ترتیباتو بارولو کاروونکي بدل کړئ. د کرون سره زه کارن ته اشاره کوم ، مګر زه څنګه د دې کارونکي تنظیمات پورته کولی شم؟
او که زه غواړم دا بند کړم؟
سلام،
زه نه پوهیږم چې زه غلط کوم ، مګر زه مرحلې تعقیب کوم او هیڅ شی نه اجرا کیږي. ما هڅه کړې ده:
59 * * * * / usr / بن / gedit
* * * * * / / usr / بن / gedit
* * * * * روټ / usr / بن / gedit
* * * * * usr / bin / test.sh
* * * * * روټ usr / bin / test.sh
او هیڅ نه دا هیڅ نه اجرا کوي. ما ریبوټ کړی او هرڅه.
ډیری قبرونه