Fórum Root.cz
Hlavní témata => Software => Téma založeno: rado3105 19. 12. 2012, 00:38:25
-
00 02 * * 1,4 rsync -rtu /var/netflow/ft/ /media/wd1500GB/zalohy/netflow/
toto mam v crontabe a nefunguje to...malo by to pustat vzdy o druhej v noci, 1 a 4 den tyzdna(teda pondelok, stvrtok) dany prikaz....
Mam nieco nespravne? vdaka
-
00 02 * * 1,4 rsync -rtu /var/netflow/ft/ /media/wd1500GB/zalohy/netflow/
Pokud to ma byt /etc/crontab a ne uzivatelsky crontab, tak vam tam nejak chybi user. Cili se bere rsync za usera, pod kterym se chce vykonat prikaz -rtu /var/netflow/ft/ /media/wd1500GB/zalohy/netflow/, ktery nedava smysl. Jinak problem muze byt i jinde. Kdysi jsem v Gentoo patral, proc mi nechodi cron a logy mi bobtnaji do nemozne velikosti. Zjistil jsem, ze jsem ho zapomnel nainstalovat. :-)
-
K tomu co píše JardaP ještě doplním 2 věci:
1) Podívej se do logu (RedHat a podobné by něco mohli napsat do /var/log/cron)
2) Některé imlementace cronu dlouhou dobu měly a možná ještě mají zajímavou fičuru a to, že ignorují poslední řádek. Pokud je tvůj záznam na posledním řádku, tak zkus odřádkovat, aby byl poslední řádek prázdný (nebo ještě lépe na poslední řádek napiš nějaký komentář)
-
to co som tu posielal som spustal ako root pomcou crontab -e.
Teraz ked pozeram /etc/crontab tak tam je toto:
# /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 )
#
teraz co pouzivat a aky tam je rozdiel?
-
# /etc/crontab: system-wide crontab
skus otestovat cron (crontab -e):
# m h dom mon dow command
* * * * * date >> /tmp/crontest
a potom v terminali spust: touch /tmp/crontest; tail -f /tmp/crontest
Najneskor o minutu neskor by si mal vidiet output :-)
-
# /etc/crontab: system-wide crontab
skus otestovat cron (crontab -e):
# m h dom mon dow command
* * * * * date >> /tmp/crontest
a potom v terminali spust: touch /tmp/crontest; tail -f /tmp/crontest
Najneskor o minutu neskor by si mal vidiet output :-)
ked to urobim ci uz v /etc/crontab alebo crontab -e v oboch pripadoch mi to funguje.....pravdepodobne bude chyba v zapise...alebo medzerach....
-
Tak si pripiste >> /tmp/crontest za ten vas prikaz. A upravte ho tak, aby se pouztel kazdych 10 minut, at vidite, jestli se neco deje bez cekani na ten spravny cas.
-
# /etc/crontab: system-wide crontab
skus otestovat cron (crontab -e):
# m h dom mon dow command
* * * * * date >> /tmp/crontest
a potom v terminali spust: touch /tmp/crontest; tail -f /tmp/crontest
Najneskor o minutu neskor by si mal vidiet output :-)
ked to urobim ci uz v /etc/crontab alebo crontab -e v oboch pripadoch mi to funguje.....pravdepodobne bude chyba v zapise...alebo medzerach....
obcas take nezna cestu k tomu, co chcete spustitpokud neni definovana promenna PATH
(definovat PATH nebo pouzit plnou cestu k binarce...)
-
# /etc/crontab: system-wide crontab
skus otestovat cron (crontab -e):
# m h dom mon dow command
* * * * * date >> /tmp/crontest
a potom v terminali spust: touch /tmp/crontest; tail -f /tmp/crontest
Najneskor o minutu neskor by si mal vidiet output :-)
ked to urobim ci uz v /etc/crontab alebo crontab -e v oboch pripadoch mi to funguje.....pravdepodobne bude chyba v zapise...alebo medzerach....
obcas take nezna cestu k tomu, co chcete spustitpokud neni definovana promenna PATH
(definovat PATH nebo pouzit plnou cestu k binarce...)
toto pridane do crontab -e:
* * * * * rsync -rtu /etc/samba/ /media/wd1500GB/zalohy/samba/ >> /tmp/crontest
po ulozeni a spusteni:
touch /tmp/crontest; tail -f /tmp/crontest
to neukaze nic....
-
Me to chodi. Tedy adresar se zrsyncuje, ale v /tmp/crontest nemam nic. To presmerovani vystupu s rsyncem takto nejak nejede, zkuste pouzit volbu --log-file=..... BTW, mate za tim radkem enter, jak tu nekdo radil? Eventuelne namisto presmerovani do /tmp/crontest napiste na konec vaseho prikazu 2>> /tmp/rsyncerrors. Treba to odchyti chyby. Alespon interaktivne pri spusteni v Bashi to chrochta.
-
K tomu co píše JardaP ještě doplním 2 věci:
1) Podívej se do logu (RedHat a podobné by něco mohli napsat do /var/log/cron)
2) Některé imlementace cronu dlouhou dobu měly a možná ještě mají zajímavou fičuru a to, že ignorují poslední řádek. Pokud je tvůj záznam na posledním řádku, tak zkus odřádkovat, aby byl poslední řádek prázdný (nebo ještě lépe na poslední řádek napiš nějaký komentář)
2) není zajímavá fíčura ale standardní chování unixového software, který očekává řádky korektně ukončené pomocí newline \n. Pokud editor na poslední řádek tu newline nedá (jako je běžné u windows editorů), tak cron ten poslední řádek neschroustá.