繁体   English   中英

由cron作业启动时,将打印python输出重定向到文件

[英]Redirect print python output to a file, when started by a cron job

Cron行:

@reboot /usr/bin/python /home/pi/main.py & >> /home/pi/log.txt 2>&1
@reboot whoami >> log2.txt

两个斯克里普茨都开始了!
这两个文件均已创建!

在log2.txt中代表用户pi。 但是log.txt保持为空。 当我通过控制台启动python脚本时,python脚本的输出将显示在控制台上。

怎么了?输出没有写入文件怎么了?

我也通过根尝试了cronjob,结果相同

改成。

/ usr / local / python /home/pi/main.py 2>&1 >> /home/pi/log.txt

def log(who, type, debug_level, msg, ip = ""):
if (debug_level <= DEBUG):
    with open('/home/pi/log.txt','a+') as f:
        if (ip != ""):            
            f.write(strftime("%Y-%m-%d %H:%M:%S", gmtime()) + " - " + who + " - " + ip + ": " + type + msg + '\n')
        f.write(strftime("%Y-%m-%d %H:%M:%S", gmtime()) + " - " + who + " - " + type + msg + '\n')

我将直接在日志功能中写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM