crontab每隔1天执行【转】

有个需求,crontab任务需要每隔1天执行,有俩个方法,如下:

第一种方法,利用crontab执行

0 0 */2 * * shellscript

但是这种方法有个问题,就是有个月份有31天,导致本月31号和下月1号,都会执行此操作,并没有真正实现每隔两天周期来执行任务。

第二种方法,可以通过在/tmp目录下标记文件的方式来实现:

[root@hch ~]# cat sig.sh 
#!/bin/bash
if [ -f /tmp/altday ];then
    rm /tmp/altday
    exit 0
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
18 16 * * * sh /root/sig.sh

参考

如何使用cron任务每隔2天在固定时间执行任务 - Bob Liu的程序人生 - CSDN博客 https://blog.csdn.net/jinguangliu/article/details/83013646

原文地址:https://www.cnblogs.com/paul8339/p/10315372.html