Fórum Root.cz

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

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


#!/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

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


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 kdy 18. 09. 2014, 20:19:45
Citace od: cron kdy 18. 09. 2014, 19:15:50
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 kdy 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 kdy 18. 09. 2014, 21:16:40
Nemusel:


#!/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 kdy 18. 09. 2014, 21:22:42
diky moc, tohle jsem neznal