Fórum Ubuntu CZ/SK
		Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: ntz_reloaded  19 Prosince 2014, 16:40:38
		
			
			- 
				Ahoj .. mam divnej problem .. poustim z cronu (pod rootem) prikaz (je ve skriptu) `postfix -v reload' a ta vec nema v cronu zadny vystup ? proste jako kdybych poslal stderr and stdout do /dev/null .. kdyz skript pustim rucne (ten samej cronovej) pod rootem v terminalu, tak to samozrejme vystup ma ..
z cronu vse funguje, postfix se normalne otoci, ale vubec nechapu, co tomu chybi v @env ze to potlaci ten vystup ???? jine prikazy vystup normalne davaji, binarka postfix ne ..
poznamka: strace jsem zatim nedelal :P, ze skriptu pres cron jsem si dumpnul env, ale nenasel jsem tam nic signifikantniho
OS:
# cat /etc/debian_version 
6.0.10
diky a zdravim
			 
			
			- 
				No počkej, ale ono to má výstup přes init-functions?
. /lib/lsb/init-functions
log_begin_msg
log_end_msg
Nebude problém v tom?
			 
			
			- 
				
No počkej, ale ono to má výstup přes init-functions?
. /lib/lsb/init-functions
log_begin_msg
log_end_msg
Nebude problém v tom?
ne .. ma to normalne vystup (zjevne minimalne stderr) .. proste to vypada takhle:
# postfix reload > /dev/null 
postfix/postfix-script: refreshing the Postfix mail system
# file `which postfix`
/usr/sbin/postfix: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
tohle je z terminalu .., kdyz udelas tuhle vec ze skriptu v cronu (podle mych informaci v defaultnim debianovem up-to-date nastaveni), tak to proste ten vystup nema .. je to debian 6.0.10 .. sak si to vyzkousej urcite nejakej mas ..
jen JFYI co jsem diky tomu objevil .. v cronu neni LANG= (alespon v defaultu) a sort dela bez lang jinej order nez s beznejma typu en_US.* nebo C/POSIX
			 
			
			- 
				a jen abych se doplnil, muj skript zacina takhle, tzn neverim ze se to ztratilo, proste to vystup nema kdyz to bezi z cronu
__debug="/var/tmp/xxx/`basename $0`.debug";
__log="/var/tmp/xxx/`basename $0`.log";
_date_string=`date +%Y%m%d%H%M%S`;
exec 2>$__debug;
exec >>$__log;
set -x;
echo "########## $_date_string:";ja osobne tady nevidim prostor, jak se to muze ztratit ..
			 
			
			- 
				Je možný, že si to hlídá crona a v tom případě to ven nic nepouští.
Asi se mi to jeví jako nejpravděpodobnější ...
			 
			
			- 
				
Je možný, že si to hlídá crona a v tom případě to ven nic nepouští.
Asi se mi to jeví jako nejpravděpodobnější ...
To zní ovšem opravdu ďábelsky..