服务:计划任务配置中/etc/crontab和crontab -e的区别
二者差异
- 级别差异
/etc/crontab
是系统级别的crontab,系统的设置
crontab -e
是用户级的crontab
linux下实际保存在/var/spool/cron/username
中
有些系统设置即使用root账号crontab -e也不行,必须放到/etc/crontab中 - 语法区别
/etc/crontab 有用户字段
*/5 * * * * root /root/scripts/refresh.sh >/dev/null 2>&1
crontab -e中不能设置用户字段
1 * */1 * * /bin/sh /root/scripts/refresh.sh > /dev/nul 2>&1
注意点
- /var/spool/clientmqueue目录过大,占用磁盘满了
原因:/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件
解决:将输出重定向,如> /dev/null 2>&1,补充:错误输出也要重定向 - /etc/crontab的读写权限
不要随意改动这个文件的读写权限,这个文件应该设置成644或者600,否则会报(system) BAD FILE MODE (/etc/crontab ) - 手动能够执行,但是crontab脚本里面不执行
解决:检查下crontab的环境变量 :
HELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
转自:
https://blog.csdn.net/rodgexue/article/details/53378225
感谢博主分享!
================# 水平有限 欢迎指正 #=================