Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: dharjee 07 Března 2008, 14:51:10

Název: Nefunkční crontab [vyřešeno]
Přispěvatel: dharjee 07 Března 2008, 14:51:10
Dobrý den,

chtěl bych poprosit o radu, jedného dne mi prostě přestal fungovat crontab a nevím co s tím. Tady je jeho obsah, tak když někdo bude vědět co s tím, budu moc vděčnej.



SHELL=/bin/sh                                                                   
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin                           
MAILTO=root                                             
#                                                                               
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly       
#                                                                               
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons
 >/dev/null 2>&1                                                               
59 *  * * *     root  rm -f /var/spool/cron/lastrun/cron.hourly                 
14 0  * * *     root  rm -f /var/spool/cron/lastrun/cron.daily                 
29 0  * * 6     root  rm -f /var/spool/cron/lastrun/cron.weekly                 
44 0  1 * *     root  rm -f /var/spool/cron/lastrun/cron.monthly               
46 14 * * *     root  rm -f /pokus/*                                           
39 14 * * *     root  rm /home/dharjee/tmp/*           

Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: Pavelp 07 Března 2008, 18:01:27
1. podivat se do logu
2. podivat se do logu !
3. podivat se, jestli je enter na poslednim radku
4. vyhodit docasne tohle >/dev/null 2>&1, pak bude posilat vysledky rootovi.



Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: dharjee 08 Března 2008, 11:26:24
Ano bylo to tím, že na konci řádku nebylo enter.

Stejně ale u příkazu  30 18 * * *  rm -f /home/*/profile/Recent/*
dostávám hlášku: argument is too long 

Nevíte jak na to a kde je chyba?

Dík
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: Martin 'Želva' Malý 08 Března 2008, 11:28:47
Možná to je tím, že mažeš 2 složky najednou. Zkus to postupně. Pouze odhad.
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: Pavelp 08 Března 2008, 12:06:36
rm -f /home/* || rm -f /profile/Recent/*

nebo

rm -f /home/* && rm -f /profile/Recent/*

Za posledni radek si chytri hosi daji jeste # a pak maji jistotu.
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: kkaarreell 08 Března 2008, 12:20:25
Citace
Stejně ale u příkazu  30 18 * * *  rm -f /home/*/profile/Recent/*
dostávám hlášku: argument is too long

Nevíte jak na to a kde je chyba?
Chyba je v tom, ze dochazi k expanzi te hvezdicky. Takze kdyz adresar /home nebo /profile/Recent obsahuje spoustu souboru, tak je pak prikazovy radek moc dlouhy.
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: dharjee 08 Března 2008, 12:27:27
Aha a jak to tedy vyřešit?
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: kkaarreell 08 Března 2008, 12:47:34
To je vubec zajimava vec, protoze co ctu, tak je to limit jadra (ne prikazu rm). O kolik souboru se jedna? Protoze ja ted zkousel pomoci "rm *" smazat 10 000 souboru a zadnej problem. Ikdyz ono to bude taky o tech cestach, protoze ta cesta k mazanym souborum taky neni nejkratsi.

A to chcete mazat jen soubory? Jelikoz mazat adresare jen pomoci "rm" samotneho nejde, musite pouzit "rm -r".

Chapu dobre, ze chcete smazat vsem uzivatelum soubory v jejich adresari ~/profile/Recent ? Protoze ostatni vam radi neco jineho (smazani souboru v /home a pak smazani souboru v /profile/Recent, coz se mi zda dost absurdni)
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: dharjee 08 Března 2008, 14:13:01
Ano chapete me dobre. Chci smazat vsem uzivatelum jejich soubory v RECENT. A to nejak crontab nepobera... :(
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: Pavelp 08 Března 2008, 18:31:08
A co ty logy ?
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: kkaarreell 08 Března 2008, 22:03:23
Resenim je napriklad nezadavat parametry na prikazovy radek najednou, ale nacitat je a nakladat s nimi v cyklu. Je to sice pomalejsi, ale rozhodne to funguje. Vas problem by mohlo resit neco jako (tech useru by nemelo byt tolik, pripadne se i ty useri daji nacitat v cyklu):

Kód: [Vybrat]
find /home/*/profile/Recent -maxdepth 1 -type f -exec rm -f {} \;

Nerikam, ze je to idealni, ale bezet by to melo; Ale pro jistotu nejdriv to rm nahrad necim jako echo vystup si zkontroluj, tedy treba spust
Kód: [Vybrat]
find /home/*/profile/Recent -maxdepth 1 -type f -exec echo "{}" \; > /tmp/rmlist
a zkontroluj soubor /tmp/rmlist, ze ty sobory (ktere by se smazaly) odpovidaji. Pri mazani se vyplani merit aspon trikrat, nez clovek rizne.
Název: Re: NEFUNKČNÍ CRONTAB
Přispěvatel: dharjee 15 Března 2008, 10:08:59
tak ano tato rada funguje. Děkuji moc
Název: Re: Nefunkční crontab [vyřešeno]
Přispěvatel: kkaarreell 15 Března 2008, 19:29:25
uplne nejlepsi je napsat to do skriptu a z crontabu poustet tento skript.. skript samotny muze byt prehlednejsi (+komentare) a v crontabu neni svincik.