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代表正确,意思就是将错误的正确的都一并输出
目前正在尝试其他的解决方法。。。