当我运行此命令时,输出消息将保存到ok.txt:
/home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt
我有这个cronjob:
* * * * * /home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt
但没有任何内容保存到ok.txt
当我看到cron日志时
> sudo grep CRON /var/log/syslog
May 10 22:16:01 localhost CRON[23397]: (admin) CMD (/home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help | tee ok.txt)
这里没有提示,我做错了什么?提前谢谢。
答案 0 :(得分:1)
试试这个:
* * * * * /home/admin/virtualenvs/x.com/bin/python /home/admin/www/x.com/x/app/manage.py help > /tmp/ok.txt 2&>1
它应该将所有输出(stderr和stdout)放入ok.txt文件
答案 1 :(得分:0)
首先我看到你没有正确的crontab语法:
Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed
您缺少用户名。
第二件事。不要假设您的.bashrc已加载。在cron中,您只需获得在文件顶部定义的环境。因此,如果您的脚本使用的是您在bashrc中定义的内容,那么可能是因为它无法正确执行。