这是我的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.sh
和print.py
具有执行权限。
但是我没有看到脚本在运行,因为msgs.txt
中没有输入。
我是否正确设置了cron作业?
答案 0 :(得分:4)
您需要在cron脚本中提供目标文件的完整路径;这是为了确保你知道在哪里检查它是否被写入。尝试将fn = 'msg.txt'
更改为fn = '/home/msh/sandbox/python/cron/msg.txt'
这在您的简单示例中并不重要,但您没有使用python2.7
运行脚本,而是使用python
运行它(可能是不同的版本)。
由于您已将文件标记为可执行文件,因此您的cron任务应该只是/home/msh/sandbox/python/cron/print.py
。