2

这是我的 print.py 文件

#!/usr/bin/env python2.7
from datetime import datetime
fn = 'msgs.txt'                                                                 
f = open(fn, 'aw')
f.write('%s\n' % datetime.now())
f.close()

我想每 5 分钟运行一次这个愚蠢的脚本。我做了

sudo crontab -e

并添加

*/5 * * * * /home/msh/sandbox/python/cron/run.sh

run.sh 就在哪里

#!/bin/sh
python /home/msh/sandbox/python/cron/print.py 

文件run.shprint.py具有执行权限。

但是我没有看到脚本正在运行,因为msgs.txt. 我是否正确设置了 cron 作业?

4

1 回答 1

4

您需要在 cron 脚本中提供目标文件的完整路径;这是为了确保您知道在哪里检查它是否被写入。尝试更改fn = 'msg.txt'fn = '/home/msh/sandbox/python/cron/msg.txt'

这在您的简单示例中并不重要,但是您没有使用 运行脚本python2.7,而是使用运行它python(可能是不同的版本)。

由于您已将该文件标记为可执行文件,因此您的 cron 任务应该是简单/home/msh/sandbox/python/cron/print.py的 .

于 2013-11-14T08:26:54.397 回答