python 脚本的简单 crontab 计划未输出到文件
Simple crontab schedule of python script not outputting to file
我有一个包含以下内容的 python 文件:
from datetime import datetime
print(datetime.today())
如果我使用 python3 file.py > out.txt
从终端 运行 这个文件,我将得到带有今天日期的 out.txt
文件。
我想用 cron 复制这个并将这个脚本安排到 运行 每分钟。所以 crontab 看起来像:
* * * * * /path/to/python3 /path/to/file.py >> path/to/out.txt
现在可以使用了,out.txt
确实创建了,但是文件是空的,而且从不包含任何日期。这是为什么?
这里提到的副本并没有解决我的问题。我已经用 cron 选项卡每分钟安排一个简单的 echo 命令来尝试这个并且它有效。
不知何故这是一个 python 问题。 Python 隐藏了输出。或者还有其他一些权限问题。
您需要在指定的 crontab 末尾包含 2>&1
以便将打印的值附加到文件中,因此您的 crontab 应该如下所示:
* * * * * /path/to/python3 /path/to/file.py >> path/to/out.txt 2>&1
我有一个包含以下内容的 python 文件:
from datetime import datetime
print(datetime.today())
如果我使用 python3 file.py > out.txt
从终端 运行 这个文件,我将得到带有今天日期的 out.txt
文件。
我想用 cron 复制这个并将这个脚本安排到 运行 每分钟。所以 crontab 看起来像:
* * * * * /path/to/python3 /path/to/file.py >> path/to/out.txt
现在可以使用了,out.txt
确实创建了,但是文件是空的,而且从不包含任何日期。这是为什么?
这里提到的副本并没有解决我的问题。我已经用 cron 选项卡每分钟安排一个简单的 echo 命令来尝试这个并且它有效。
不知何故这是一个 python 问题。 Python 隐藏了输出。或者还有其他一些权限问题。
您需要在指定的 crontab 末尾包含 2>&1
以便将打印的值附加到文件中,因此您的 crontab 应该如下所示:
* * * * * /path/to/python3 /path/to/file.py >> path/to/out.txt 2>&1