linux后台定时任务

crontab 这个文件是用来管理后台任务的,系统会自动执行在这里面设置的任务

有两种管理这个的方法:

(1)系统级别 vim /etc/crontab

(2)用户级别 command:   crontab -e

在里面直接编辑,ctrl+x离开

 

任务添加的格式:

f1 f2 f3 f4 f5 命令

f1代表分钟,f2代表小时,f3代表日期,f4代表月份,f5代表星期几

*/5 若在f1的位置,则代表每5分钟执行一次

*代表任意时间

0 4 * * * 代表每天凌晨4点执行

遇到的问题:

刚开始命令没有用root, 直接执行的/usr/bin/python /home/administrator/test.py

没有注意到日期和命令之间要用tab,而不是空格

查看/var/log/syslog,可以看到crontab的执行日志,显示的错误是Error: bad username; while reading /etc/crontab

修正之后,还是没有按照预计结果在shell输出,而是出现了info (No MTA installed, discarding output)这个问题

是因为没有安装邮件服务器的原因,无法输出错误

按照网上的方法在命令后面添加‘ >/dev/null 2>&1 ’ 还是没有解决问题

感觉这样的思路应该是对的 将输出定向到另一个文件

其中2>&1,2代表错误,>代表输出, 1代表正确,意思就是将错误的正确的都一并输出

目前正在尝试其他的解决方法。。。

 

posted @ 2014-04-17 20:26  一如当初  阅读(674)  评论(0编辑  收藏  举报