Fórum Root.cz

Hlavní témata => Software => Téma založeno: cron 18. 09. 2014, 19:15:50

Název: Cron vytváří prázdné logy
Přispěvatel: cron 18. 09. 2014, 19:15:50
Hoj v cronu spoustim tady tento script a potrebuji ukladat stdout do log souboru

Kód: [Vybrat]
#!/bin/sh

cd /home/user/data;
ix=`ps aux | grep -v grep | grep "mujscript2.py" | awk '{ print $2 }'`
if [ -z "$ix" ];
then
echo "no PID, starting.";
/usr/bin/python /home/user/data/mujscript.py
/usr/bin/python /home/user/data/mujscript2.py
fi





cron vypada takhle
Kód: [Vybrat]
0 */1 * * * sh /home/user/data/checker.sh > /home/user/data/logs/$(date +'\%d-\%b-\%Y-\%H_\%M_\%S').log


Vytvari se mi log soubory s obsahem stdout.
Ale vytvari se mi i prazdne soubory, ktere nic neobsahuji (to kdyz se nesplni podminka toho scriptu).


Da se to nejak elegantne vyresit? Aby se soubor vytvoril jen pokud je co zapsat?
Nepovazuji za reseni dodatecne kontrolovat prazdne soubory a ty mazat.

Zkousel jsem do te podminky pridat

Kód: [Vybrat]
else
>&2 echo "exists: "$ix;
To ale nepomohlo, porad mi to vytvari prazdne soubory.




Název: Re:Cron vytváří prázdné logy
Přispěvatel: Filip Jirsák 18. 09. 2014, 20:19:45
Da se to nejak elegantne vyresit? Aby se soubor vytvoril jen pokud je co zapsat?
Zapisovat do logu až v tom skriptu.
Název: Re:Cron vytváří prázdné logy
Přispěvatel: cron 18. 09. 2014, 20:52:08
Ano, takhle by se to dalo vyresit v pripade ze ten script je takto kratky.
Kdybych tam ale spoustel misto dvou dalsich skriptu treba 50, tak bych u kazdeho to presmerovani musel specifikovat :(


Název: Re:Cron vytváří prázdné logy
Přispěvatel: Filip Jirsák 18. 09. 2014, 21:16:40
Nemusel:

Kód: [Vybrat]
#!/bin/sh

cd /home/user/data;
ix=`ps aux | grep -v grep | grep "mujscript2.py" | awk '{ print $2 }'`
if [ -z "$ix" ];
then
exec > /home/user/data/logs/$(date +'\%d-\%b-\%Y-\%H_\%M_\%S').log
echo "no PID, starting.";
/usr/bin/python /home/user/data/mujscript.py
/usr/bin/python /home/user/data/mujscript2.py
fi
Název: Re:Cron vytváří prázdné logy
Přispěvatel: cron 18. 09. 2014, 21:22:42
diky moc, tohle jsem neznal