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代表正确,意思就是将错误的正确的都一并输出

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

原文地址:https://www.cnblogs.com/hanying/p/3671826.html