我正在使用crontab自动启动程序,在cronatb中使用以下命令
@reboot sudo python /home/Desktop/Appllication.py
是否有可能写入所有的日志(错误和其他东西)通过追加一些上述命令,以便cron写入所有错误/任何相关的事件到日志?
更新:当使用print命令单独运行时,代码在python空闲terminal中输出值。 如何将打印在terminal上的这些数据写入日志文件。 例如,如果我的代码是打印“食物早上”,我怎么得到这个写入到日志文件,而不是打印在terminal上。
testing代码:
import time while(1): print "testing" time.sleep(5)
如果/home/Desktop/Application.py
将错误日志打印到STDOUT,则可以简单地重定向脚本的输出
python /home/Desktop/Application.py >> /home/my_application_log.txt
将所有输出重定向到文件是一个非常好的SO线程。 您可以使用测试代码作为输出生成器来尝试那里的代码片段。
此外,Python带有一个出色的日志模块。 如果你想整合一个健壮的日志记录系统,我强烈建议查看它: python日志记录
你其实包括一个sudo。 Sudo需要密码,您必须在sudoers中添加一个配置项才能运行无密码的脚本。 你的另一个选择是将其添加到root cron。 使用@Haleemur的重定向命令将输出重定向到日志。 我实际上建议使用以下以防万一它失败并输出到STDERR
@reboot python /home/Desktop/Application.py >> /home/Desktop/log_file 2>&1
更新:
尝试从终端运行以下命令
python /home/Desktop/Application.py >> /home/Desktop/log_file 2>&1
如果它在命令行中工作,没有理由不应该在cron中工作。