Suas chamadas para logger
estão falhando porque $LOGGER
não é o comando. Tente isso:
LOGGER=logger
LOGGER_OPTS="-p cron.notice -t $ME"
php whatever.php | $LOGGER $LOGGER_OPTS
Envio de saída do script php chamado do script bash para o syslog
Estou tentando criar um script bash (para ser chamado por um cron job) que chama um arquivo php (que eu não fiz). Chamar o arquivo php é bastante fácil. O script php gera muita coisa para o stdout e eu gostaria de redirecionar a saída do script php para o logger para que eu possa monitorar o progresso no meu servidor syslog remoto.
Eu tentei algo como:
PHP_SCRIPT_PATH="/some/path"
ME=basename $0
LOGGER="logger -p cron.notice -t $ ME"
cd $ PHP_SCRIPT_PATH
php the_php_script.php & > eval $ LOGGER
Também tentei:
php the_php_script.php | eval $LOGGER
Mas nem trabalho.
Outra solução possível que considerei é canalizar a saída do script php para um arquivo de log e, em seguida, ter outro script bash para ler esse arquivo e gravar cada linha em um logger. Mas eu gostaria de ter um script que faça tudo:)
Alguém por favor pode ajudar?