PHP笔记网

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2023-12-12 12:03:34  修改时间:2024-12-25 16:00:01  分类:Linux基础  编辑

1、/etc/crontab 和 crontab -e 的区别

  • /etc/crontab:是系统级别的crontab,系统的设置等。注意:使用vim编辑 vim /etc/crontab
  • crontab -e:是用户级的crontab,Linux下实际保存在/var/spool/cron/username中

有些系统设置即使用root账号 crontab -e 也不行,必须放到 /etc/crontab 中

两个的语法是有区别的

  • /etc/crontab:有用户字段, /5 * * * root ntpdate 192.168.0.153 >/dev/null 2>&1
  • crontab -e:中不能设置用户字段,1 * /1 * php /root/mobile/scripts/refresh_pass_reborn.php > /dev/nul 2>&1

2、/var/spool/clientmqueue目录过大,占用磁盘满了

  • 原因:/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件
  • 解决:将输出重定向,如> /dev/null 2>&1,补充:错误输出也要重定向

3、/etc/crontab的权限

不要随意改动这个文件的属性,这个文件属性应该设置成644或者600,否则会报(system) BAD FILE MODE (/etc/crontab )

4、手动能够执行,但是crontab脚本里面不执行,检查下crontab的环境变量

HELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/