crond定时操作 crontab
* * * * * 分别表示 分钟 小时 日 月 星期(0-6)
30 17,28,19 * * * 或 30 17-19 * * * 在每天的17-19小时半点时刻执行
30 8-18/2 * * * 这是指 在每天的8-18点每2小时的30分时刻执行
重启使用 /etc/init.d/restart
每分钟打印自己的名字到一个文件里
*/1 * * * * echo "peak" >> /var/aaa.txt 2>&1
每周六,日,上午9:00和下午14:00来外面玩
00 09,14 * * 6,0 /bin/sh/ /var/aaa.sh > /dev/null 2>&1
特别说明
/dev/null 2>&1 意思是说将上面脚本的输出重定向到/dev/null(黑洞设备或者是空设备),就是不记录任何输出,也不给系统发邮件
2&1 是指标准错误和标准输出
如果报错 no space left on device故障
首先df -k查看 空间
解决办法
cd /var/spool && rm -rf clientmqueue
mkdir clientmqueue && chmod 770 clientmqueue && chown smmsp.smmsp -R /var/sppl/clientmqueue
原因是定时任务输出的内容的锅,直接/dev/null 2&1
创建定时任务之前先检查服务是否启动
ps -ef|grep crond|grep -v grep
crontab -e 进入命令编辑模式
任务一:每隔一分钟,打印一个+号到aaa.log
*/1 * * * * echo + >> /aaa.log 保存
然后查看
crontab -l
或者可以直接这样写
echo '*/1 * * * * echo + >> /aaa.log' >> /var/spool/crond
利用脚本执行
*/1 * * * * /bin/sh /var/echo.sh >>/dev/null 2>&1
vi echo.sh
echo date >>/tmp/aaa.log