Portál AbcLinuxu, 12. května 2025 15:48
Zdravím,
mám takoví menší problém s cronem. Když dám "crontab -l" tak mě to napíše "no crontab for root" a přitom cron normálně jel. Zkoušel jsem restartovat stroj, ale stále nic.
cron
u. I Linuxové systémy (třeba Slackware) /etc/crontab
nepoužívají.
musis zadat ulohu do cronu pomoci prikazu crontab -e (viz prikaz crontab ) jako root (kazdu user ma svuj crontab) a nezapomen ukouncit soubor novym radkem. jinak ti to nepojede ;)
Jejda vy jste mě asi nepochopili.. Cron je normálně má zadané 3 úlohy. Ale z ničeho nic už nejede.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
crontab -l
nic nevypise, tak ziadne ulohy nema. Nepreklepol si sa a nedal si crontab -r
namiesto crontab -e
? Tie pismenka su tak blizko vedla seba.
Tak jak je potom možné, že když tam uložím úlohu tak do daného souboru se úloha zapíše, ale když dám crontab -l tak tam není! To je prostě záhada tohle .
Ach jo.. prostě ten CRON už byl spuštěnej vše jelo normálně. Ale jednoho dne se zničeho nic vypl a nejde zapnout
Nejdřív bych zkontroloval, zda cron vůbec běží (/etc/init.d/cron restart). Já nejsem zvyklý používat crontab -e, ale přidávám řádky do základního crontabu (po jakékoliv změně dát znovu restart cronu), takže to vypadá takto:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
01 10 * * * root /home/dalibor/skripty/zalohovat
V mém případě se mi spouští skript "zalohovat" v 10.01 denně.
Ano, pozorný čtenář bylo to špatně zapsané , ale pro princip fungování cronu jako příklad je to OK.. Konkrétní soubor měl rootovská práva a byl uložen jinde, sem jsem zkopíroval jen "pracovní verzi" crontabu jako zálohu pro testování, nikoliv v současné době funkční cron, omlouvám se
-
Proč mám odpovídat na otázky, které nedávají smysl. Mě jde o to, že ten CRON bežel askoro 3 týdny a zničeho nic se vypl a nejde zapnout. Nikdo snim nic nedělal a ty se mě tu ptáš co je v tom a tom souboru atd..
Dobra, vezmeme to trochu podrobneji. Cron je daemon, ktery ma na starosti spousteni uloh v zadanem case. Co a kdy ma spoustet je mozne mu sdelit nekolika zpusoby. Jednim zpusobem je soubor /etc/crontab - jedna se vetsinou o ulohy, ktere jsou 'systemove' - napriklad spousteni veci z adresare /etc/cron.daily/ a tak podobne. To je zaroven druhy zpusob, zavedeny coby zjednoduseni - do adresaru /etc/cron.daily, hourly nebo weekly staci umistit (odkaz na) skript, ktery chceme poustet jednou za den/hodiny/tyden. Treti moznost zadani je pres crontab -e - tento prikaz vytvori soubor v adresarich pod /var/spool/crontab a da se zkontrolovat prikazem crontab -l. prvni dve metody jsou omezeny na uzivatele 'root', treti mohou pouzivat i obycejni uzivatele. Otazka tedy zni - co to znamena, ze 'nefunguje cron'? Ktera z vyse uvedenych moznosti byla pouzita, co se objevuje v systemovem logu (patrne /var/log/cron) a co je ocekavano?
Pozri sa 3 tyzdne spät do logu, co tam najdes o CRONe. Spadol ? Mne sa este nestalo, aby sa cron len tak sam od seba vypol....
Právě tohle mě napadlo taky, mohl by to zjistit příkazem
ps ax | grep cron
3366 ? Ss 0:00 /usr/sbin/cron
7578 pts/5 D+ 0:00 grep cron
Proč mám odpovídat na otázky, které nedávají smysl.Pokud si jste jistý, co je a co není relevantní, tak zřejmě i víte, v čem je problém a taháte ostatní za nos. Mě třeba pohled do logů, jestli a co se tam píše o crond přijde docela smysluplný dotaz.
zničeho nic ... nikdo s nim nic nedělalTo bych skoro řekl ani není pořádně možné. Pokud se změnil stav (funguje/nefunguje), muselo se změnit ještě něco a odpověď na otázku co, je nejspíše i řešením problému. Samozřejmě, změna nemusí být úmyslná (překlep), vědomá (změna kterou provedl nějaký "chytrý" "instalátor" nebo systémový "aktualizátor") ani dokonce přímým důsledkem čehokoliv, co uživatel udělal nebo nastavil (HW problém a segfaultující crond, kompromitovaný systém). V každém případě, "fungovalo mi to a teď to nefunguje... a víc Vám k tomu neřeknu," zřejmě k řešení nepovede. Já se tedy přiznám ani úplně nerozumím tomu dotazu. Co fungovalo a co nefunguje?
crond
vůbec neběží? crontab -l
dává jiné výsledky než předtím? Nějaká zadaná úloha, která dříve běžela neběží? Jak byla spouštěna (Váš /etc/crontab
žádné konkrétní úlohy neobsahuje a crontab -l
s tím nutně nesouvisí, protože to mohou být dva odlišné mechanismy)?
Buď bude potřeba malinko zpřesnit vyjadřování a odpovědět na pár otázek, nebo dodat křišťálovou kouli, jinak Vám asi sotva někdo bude schopen pomoci.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.