前言
近期有部分业务需要在月底进行数据归拢处理,人为控制显然违背了码程序的初衷,想到最方便的方法就是使用 Linux 中的 crontab 定时器了,但是crontab貌似没有获取当月最后一天的这么一种定时规则,所以只能想办法让它在最后一天去执行了。
原理
获取明天的日期,判断如果明天是1号,那么今天肯定是本月的最后一天了,如我想让系统在每月最后一天23点整访问我的博客,代码如下。
代码
脚本
#!/bin/sh
TOMORROW=`date -d tomorrow '+%d'` #获取明天的日期
if [ $TOMORROW = "01" ] ; then #如果01的话执行curl语句
curl_cmd="/usr/bin/curl https://www.whongbin.com" #需要执行的shell命令
echo `date "+%Y-%m-%d %H:%M:%S"` "开始执行 ===>> " $curl_cmd
else
echo `date "+%Y-%m-%d"` "不是最后一天"
fi #ifend
crontab规则
#################### 每月最后一天23点执行一次,访问我的博客
0 23 * * * /usr/bin/sh /opt/bash/date.sh
评论 (0)