script Múltiplos Comandos

1

Eu tenho um script PHP que estou executando do Cron. Eu quero salvar sua saída para o arquivo, mas também deseja salvar a saída do shell para um arquivo diferente. Idealmente, eu gostaria de ter isso em uma linha. Como tal, tentei o seguinte:

script "/folder/log/file.errors."'date +"%Y-%m-%d.%H-%M-%S"'".txt" && /usr/bin/php /folder/file.php > "/folder/log/file.php."'date +"%Y-%m-%d.%H-%M-%S"'".txt"

Mas só executa o primeiro comando (antes de && ). Da mesma forma, se eu usar ; em vez de && .

Quando executo isso como dois comandos separados, funciona bem:

root:~# script "/folder/log/file.errors."'date +"%Y-%m-%d.%H-%M-%S"'".txt"
root:~# /usr/bin/php /folder/file.php > "/folder/log/file.php."'date +"%Y-%m-%d.%H-%M-%S"'".txt"

Como posso juntar esses dois comandos em um comando / linha?

Além disso, quando executado via Cron, será necessário que eu execute um comando exit após o código acima para script para salvar corretamente no arquivo?

    
por Pamela 29.01.2016 / 21:05

1 resposta

1

O pedido de Perdonon, estou postando este comentário como uma resposta, para que a pergunta possa ser marcada como "respondida"

Instead of relying on script logging, especially if this will eventually be a cron job, consider sending output and error messages to one or more designated files(s) in your php code. When you run it in cron, it will create a session log unless you divert it to something like >/dev/null 2>&1 directive. So, as a debug tool you can check that cron log

    
por 30.01.2016 / 20:32