cron是一个后台调度程序。该进程一分钟检查一次,并读取crontab文件进行执行。
使用crontab -e生成的文件在/var/spool/cron/crontabs 下根据相应的用户名命名。
在用的时候碰到一问题,按正常的步骤 crontab -e 编辑
* * * * * /bin/echo "hello" 写入后发现并没有反应,后来查到需要安装邮件系统类东西。
但是我想找具体原因,是否有输出日志呢?确实有,但是需要我们打开。
首先:/var/log下没有cron日志的
修改rsyslog: vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
重启rsyslog:service rsyslog restart
查看crontab日志:find -name "cron*"
这样就可以了,发现确实有执行,但是报错,即为上面原因。
那我们改了下语句
* * * * * /bin/echo "hello" >>/tmp/mylog.log
这样就ok!
cron 其实主要是那5个域的组合,以及理解1-6/2理解,以及日期与星期的或!
常用命令 crontab -e crontab -r crontab -l
可以将脚本写好在,crontab task.cron 即可生效!
查询cron 是否运行 -- ps aux | grep "cron"