Portál AbcLinuxu, 8. května 2025 18:28
Řešení dotazu:
`…`
je záležitost shellu, cron tomu nerozumí. Přesuňte ten příkaz do shellového skriptu a z cronu spouštějte ten skript – pak vám to bude fungovat.
sh -c
bude něco jiného, než uživatelův shell. Každopádně když se ten příkaz dá do samostatného skriptu a bude se testovat spouštění toho skriptu z cronu a z příkazové řádky, budou to už mnohem podobnější prostředí.
crontab(1p)
.
#0 2 * * 1 nobody fooscript.py && date +'\%Y\%m\%d\%H\%M\%S' > /var/log/foo/foo.stampZ manstránky vixie cronu:
… Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input. …Kromě toho cron implicitně nastavuje $SHELL na /bin/sh což bude nejspíš dash nebo bash v bourne-kompatibilním režimu. Pokud chceš používat bashizmy, stačí ho nastavit na bash a žádný obalovací skript není třeba.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.