Je! Ninawezaje kuanzisha kazi ya Cron?


Nenda kwa jibu lililokubaliwa


Ninataka kupanga kazi ya kuendesha kila wakati na nimesikia kwamba Cron ndio njia ya kufanya hivyo.

Je! Ninaongezaje kazi za Cron huko Ubuntu?


540





2010-08-16




Idadi ya majibu: 7


Weka script shell katika moja ya folders haya: /etc/cron.daily , /etc/cron.hourly , /etc/cron.monthly au /etc/cron.weekly .

Ikiwa haya hayatoshi kwako, unaweza kuongeza kazi maalum zaidi mfano mara mbili kwa mwezi au kila dakika 5. Nenda kwa terminal na aina:

 crontab -e
 

Hii itafungua crontab yako ya kibinafsi (faili ya usanidi wa cron). Mstari wa kwanza katika faili hiyo inaelezea yote! Katika kila mstari unaweza kufafanua amri moja ya kukimbia na ratiba yake, na muundo ni rahisi sana wakati unapata. Muundo ni:

 minute hour day-of-month month day-of-week command
 

Kwa nambari zote unazoweza kutumia orodha, kwa mfano 5,34,55 katika uwanja wa dakika itamaanisha kukimbia saa 5 zilizopita, 34 zilizopita, na 55 iliyopita saa yoyote ambayo imeelezewa.

Unaweza pia kutumia vipindi. Imeelezwa kama hii : */20 . Mfano huu unamaanisha kila 20, kwa hivyo katika safu ya dakika ni sawa na 0,20,40 .

Kwa hivyo kuendesha amri kila Jumatatu saa 5:30 alasiri:

 30 17 * * 1 /path/to/command
 

au kila dakika 15

 */15 * * * * /path/to/command
 

Kumbuka kuwa siku ya wiki inaanzia 0-6 ambapo 0 ni Jumapili.

Unaweza kusoma zaidi hapa .


662



Ikiwa kazi unayotaka kukimbia inaweza kuendeshwa na haki sawa na mtumiaji wako Ninapendekeza kutumia crontab ya mtumiaji ambayo unaweza kuhariri kwa kukimbia EDITOR="gedit" crontab -e (ambayo itatumia gedit kuhariri faili ya crontab) au tu crontab -e (ambayo itatumia hariri ya hariri ) katika terminal.

Ikiwa unataka kuendesha kitu kila dakika 10, kwa mfano, unaongeza mstari kama huu

 */10 * * * * /usr/bin/somedirectory/somecommand
 

na uhifadhi faili.

Unaweza kuona yaliyomo kwenye usumbufu wa mtumiaji crontab -l .

Kuongeza kazi ya cron ambayo hutumika kama mizizi, unaweza kuhariri ukataji wa mizizi kwa kukimbia sudo crontab -e .

Njia rahisi zaidi ni kutumia crontab ya mfumo /etc/crontab ambayo unaweza kuhariri tu na haki za mizizi. Katika faili hii, mtumiaji kila amri inapaswa kuendeshwa kama ilivyoainishwa, kwa hivyo unaweza kuendesha amri zako kama mzizi (ikiwa utahitaji kiwango hicho cha fursa) au mtumiaji mwingine yeyote kwenye mfumo.

Kwa mfano, ikiwa unataka kuendesha kitu kila dakika 10 kama mzizi, utaongeza mstari kama huu

 */10 * * * * root /usr/bin/somedirectory/somecommand
 

(angalia kuongeza kwa mtumiaji kwenye mstari)

Unaweza kuona yaliyomo kwenye faili ya crontab file na cat /etc/crontab .

Maelezo zaidi kwa: https://help.ubuntu.com/community/CronHowto


102


2010-08-16

Ikiwa unapenda kuifanya kwa kutumia GUI, unaweza kwenda kwenye Kituo cha Programu na kusanikisha kazi zilizopangwa (au kukimbia sudo apt-get install gnome-schedule ). Itatoa GUI yenye nguvu ya kuongeza kazi za cron.

Kumbuka kuwa ikiwa utatumia njia hii, majukumu bila msingi yatatekelezwa kama mtumiaji wako mwenyewe, sio mzizi. Kawaida hii ni jambo zuri.


53


2010-08-16

Ninapendekeza Mpangilio wa Kazi wa KDE ( kde-config-cron )
Weka kde-config-cron

. Pata kutoka kwa Mipangilio ya Mfumo kwenye moduli ya Mpangilio wa Kazi hapo.

Inasimamia Ushuru wa kibinafsi na wa mfumo, na urahisi wa kuunda mipaka ya wakati ilinishangaza sana (ona skrini hapa chini). Nadhani sehemu hii ni chini ya chini.


ingiza maelezo ya picha hapa


26


2013-01-31

Mpangilio wa Kazi ya KDE haitafanya kazi katika Ubuntu wa kawaida. Inafanya kazi tu katika Mifumo ya KDE kama KUbuntu. Kwa mfumo usio wa KDE utapenda kutumia ratiba ya gnome

 $ sudo apt-get install gnome-schedule
 

Programu ni kazi zilizopangwa katika Dash.


11


2014-02-11

Nilitaka kuweka kazi ya Cron kudhibiti maandishi ya bash, kwa hivyo kutekeleza hati hiyo kuniongezea kazi ya cron.

Niligundua kuwa unapotumia:

 crontab -e 
 

Kisha inaunda faili:

/var/spool/cron/crontabs/root

Ambapo mzizi ni jina la mtumiaji anayeendesha amri ya crontab. Kwa hivyo kwa kuzingatia hii na mnamo 14.04 angalau, tunaweza kutekeleza amri zifuatazo za bash kuunda kazi mpya ya Cron:

 echo "30 17 * * 1 /path/to/command" > /var/spool/cron/crontabs/root
 

Tunahitaji pia kuweka umiliki sahihi wa faili:

 chown root:root /var/spool/cron/crontabs/root
 

Na weka ruhusa sahihi:

 chmod 600 /var/spool/cron/crontabs/root
 

Ikiwa unapoendesha crontab -e tayari kuna kazi za Cron kwenye orodha, basi unaweza kuorodhesha kwenye orodha ukitumia amri ifuatayo:

 echo "30 17 * * 1 /path/to/command" >> /var/spool/cron/crontabs/root
 

11


2016-09-27

Mfano wa maandishi ya maandishi test_cron.sh kwa kila dakika kwenye Ubuntu 18.04 kwa kutumia kiunganisho cha mfano:

test_cron.sh faili:

 #!/bin/bash
echo "System backuped" >> /media/myname/data/backup/backup_tmp.log
 

Ikiwa unataka kutumia viwambo vya mazingira katika hati yako kama $USER njia kwa njia bora ni chapa njia sahihi, bash haitajua vijazo vyako kwa wakati wa utekelezaji.

myname jina la mtumiaji (sehemu ya kikundi cha mizizi, sina hakika kuwa upendeleo wa mizizi ni muhimu).

Ruhusu watumiaji kuweka kazi za cron, faili itaundwa ikiwa ni lazima:

 sudo nano /etc/cron.allow

root
myname
 

Njia ya maandishi ni /home/myname/shell/test_cron.sh

Nilibadilisha mmiliki na kuifanya iweze kutekelezeka:

 sudo chown myname /home/myname/shell/test_cron.sh
chmod +x /home/myname/shell/test_cron.sh
 

Nimeongeza kiunga cha mfano:

 sudo ln -s /home/myname/shell/test_cron.sh /usr/bin/test_cron
 

Imeingia wakati myname niliongezea kazi mpya kutekeleza test_cron kila dakika.

 crontab -e

*/1 * * * * test_cron
 

Kuangalia ikiwa amri iko kwenye orodha:

 crontab -l

*/1 * * * * test_cron
 

Kuangalia utekelezaji

 grep -i cron /var/log/syslog

Nov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)
 

2


2018-11-17