![crontab每隔1天执行【转】 crontab每隔1天执行【转】](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
有个需求,crontab任务需要每隔1天执行,有俩个方法,如下:
第一种方法,利用crontab执行
*/ * * shellscript
但是这种方法有个问题,就是有个月份有31天,导致本月31号和下月1号,都会执行此操作,并没有真正实现每隔两天周期来执行任务。
第二种方法,可以通过在/tmp目录下标记文件的方式来实现:
[root@hch ~]# cat sig.sh
#!/bin/bash
if [ -f /tmp/altday ];then
rm /tmp/altday
exit
else
touch /tmp/altday
sh /root/insert.sh
fi
[root@hch ~]# cat insert.sh
#!/bin/bash
date >> /tmp/execute.log && echo "execute" >> /tmp/execute.log
将脚本添加至crontab中
[root@hch ~]# crontab -l
* * * sh /root/sig.sh
参考
如何使用cron任务每隔2天在固定时间执行任务 - Bob Liu的程序人生 - ****博客 https://blog.****.net/jinguangliu/article/details/83013646