【发布时间】:2020-06-08 14:37:50
【问题描述】:
我执行时手动运行:
python /var/lib/mongodb/script.py >> /var/lib/mongodb/script.log 2>&1
但是使用 cronjob,我看到脚本已执行但 /var/lib/mongodb/script.log 中没有输出
sudo -u mongodb crontab -l
* * * * * python /var/lib/mongodb/script.py >> /var/lib/mongodb/script.log 2>&1
在 /var/log/syslog 上,我看到 cron 已执行,但 /var/lib/mongodb/script.log 中没有输出,并且 script.py 没有运行。
更新:
我尝试了一个 test.py 脚本并且正在工作:
root@jessie:~# ls -al /var/lib/mongodb/test.py
-rw-r--r-- 1 root root 184 May 10 13:49 /var/lib/mongodb/test.py
root@jessie:~# sudo -u mongodb crontab -e
* * * * * python /var/lib/mongodb/test.py >> /var/lib/mongodb/test.log 2>&1
May 10 14:02:01 jessie CRON[1889]: (mongodb) CMD (python /var/lib/mongodb/test.py >> /var/lib/mongodb/test.log 2>&1)
root@jessie:~# ls -al /var/lib/mongodb/test.log
-rw-r--r-- 1 mongodb nogroup 1792 May 10 14:04 /var/lib/mongodb/test.log
test.py 脚本包含:
print "Hello World!"
print "Hello Again"
print "I like typing this."
print "This is fun."
print 'Yay! Printing.'
【问题讨论】:
-
用户
mongodb对/var/lib/mongodb/script.log文件有写权限吗? -
是的,drwxr-xr-x 2 mongodb mongodb 4096 5 月 8 日 14:20 mongodb
-
如何设置python的完整路径(即
/usr/bin/python)? -
我也试过了,同样的行为。它是手动运行的,但不是从 cron 运行的
-
当您手动说时,我假设您是以
mongodb用户身份运行它,对吧?你的/etc/cron.allow或/etc/cron.deny文件呢?