[MEGOLDVA]Crond hiba?

Fórumok

hello

Valami nagyon nem kerek a cronnal. Adott két user (postgres és root), mindekttőnek van pár cron jobja. A log azt mondja hogy lefutott:

CROND[21072]: (postgres) CMD (postgres pg_dumpall --globals |gzip > /var/lib/pgsql/backups/$(date +)
CROND[21074]: (postgres) CMD (postgres pg_dump mediawiki |gzip > /var/lib/pgsql/backups/$(date +)
CROND[21092]: (root) CMD (root tar -czvhf /mnt/$(date +)
CROND[21100]: (root) CMD (root find /mnt/backup/ -type f -mtime 9 -exec /bin/rm {} \;)
CROND[21110]: (root) CMD (root mv /var/lib/pgsql/backups/* /mnt/backup 2>/dev/null)

és a /var/log/messages-ben sincs hiba. SELinux sem. A logban minden rendben.
Ha kézzel futtatom a parancsokat akkor szépen lefut, viszont GYAKORLATILAG nem.
Azaz éjszaka a cron nem futtatja automatikusan a mentést, csak berakja a logba mint ha megcsinálta volna, pedig nem.
Az kizárva hogy az első eredmény még nincs kész és a másik már
dolgozni akar vele, mert jelenleg nagyon gyorsan lefut, alig van adat amit ment.
Egyébként erről van szó:

30 3 * * * postgres pg_dump mediawiki |gzip > /var/lib/pgsql/backups/$(date +%Y-%m-%d)-mediawiki.psql.gz
30 3 * * * postgres pg_dumpall --globals |gzip > /var/lib/pgsql/backups/$(date +%Y-%m-%d)-globals.psql.gz
35 3 * * * root tar -czvhf /mnt/$(date +%Y-%m-%d)-wikihtml_backup.tgz /var/www/html/media-wiki.inf.lab/* && mv /mnt/*-wikihtml_backup.tgz /mnt/backup 2>/dev/null
37 3 * * * root find /mnt/backup/ -type f -mtime 9 -exec /bin/rm {} \;
40 3 * * * root mv /var/lib/pgsql/backups/* /mnt/backup 2>/dev/null

Mi lehet a gond vele? Nem értem. Van vlakinek ötlete?

UPDATE:
amikor más időt adok meg, pl 9:30 akkor szépen megcsinálja a kis drága. De éjszaka nem. :(

Hozzászólások

Lehet én nem vettem észre, de mi a hiba?

updatelve.
a hiba az hogy logok szerint minden rendben, de a mentés nem készül el éjszaka ahogy kéne. igazából egyáltalán nem készül mentés.
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/

Van egy kevés enviro, ami shell-ben vagy ha at paranccsal időzítesz, akkor megvan - cron alatt meg nincs. Ez okozhat problémát.
Azt se felejtsd el, hogy a logban nem az van, hogy lefutott, hanem az, hogy elindította a crond a jobot. A kettő nem ugyanaz. :-)

man 5 crontab:

The ``sixth'' field (the rest of the line) specifies the command to be
run. The entire command portion of the line, up to a newline or %
character, will be executed by /bin/sh or by the shell specified in the
SHELL variable of the crontab file. Percent-signs (%) in the command,
unless escaped with backslash (\), will be changed into newline charac-
ters, and all data after the first % will be sent to the command as
standard input. There is no way to split a single command line onto
multiple lines, like the shell's trailing "\".

(Nem is igazán hiszem, hogy változatlanul a fenti parancsokkal készül el napközben az a backup.)

Szerk.: hiszen ott is van a logban, hogy a parancsot az első % előtti + jelig látja!

szokás szerint az a gond, hogy a parancsban van nehány %-jel. A crontabban annak spéci jelentése van, nézz utána.