Portál AbcLinuxu, 29. června 2025 03:11
echo $(date -u) $(service eonud status) >> /usr/local/bin/log.txt
Když tento skript spustím ručně, tak je výstup do logu v pořádku, pokud jej ale spustí cron, tak výstup obsahuje pouze zapsané datum a formátovací mezery bez statusu služby.
Stejně to dopadne, když to rozdělím na 2 řádky, tedy:
echo $(date -u) >> /usr/local/bin/log.txt
echo $(service eonud status) >> /usr/local/bin/log.txt
Asi se bude jednat o nějakou začátečnickou chybu, ale nepodařilo se mi najít nic, co by mi pomohlo.
Děkuji za rady
Řešení dotazu:
Čt srp 3 15:57:49 UTC 2017 eonud (pid 38641) běží...
pokud to spustí cron:
Čt srp 3 15:57:49 UTC 2017
Chybí mi tedy informace o statusu eonudu.
printf '%s %s' "$(date -u) $(service eonud status)"
Výsledek je úplně stejný jako v předchozím řešení. Ručním spuštěním vše ok, při spuštění cronem výstup také bez informace o stavu služby.
echo $(date -u) $(/sbin/service eonud status) >> /usr/local/bin/log.txt
SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#!/bin/bash
SERVICE=$(which service)
ECHO=$(which echo)
DATE=$(which date)
$ECHO $($DATE -u) $($SERVICE httpd status) >> /var/log/eonud_log.txt
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.