gle*_*her 3 bash shell cron stdout crontab
./script &>> log.txt
我得到了一个不错的日志文件,但是如果我有由 cron 执行的相同命令,那么可以说 crontab 看起来像这样:
* * * * * '/home/user/script &>> /home/user/log.txt'
Run Code Online (Sandbox Code Playgroud)
log.txt 将是空的,我试过 " 和 ' 和 ` 并且没有刻度来包含命令,知道为什么流不会被写入文件吗?
可能是 cron 使用的 shell 不支持&>>Bash 支持的速记重定向运算符。
您应该使用 Bourne shell 和其他支持的可移植形式:
* * * * * /home/user/script >> /home/user/log.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
这表示“将标准输出(文件描述符 1)附加到文件并将标准错误(文件描述符 2)发送到同一位置”。
而且你不需要任何引号。