crontab每月最后一天执行
来源:互联网 发布:淘宝网店计划书ppt 编辑:程序博客网 时间:2024/05/03 11:03
如何设定crontab在每月最后一天执行一种方法:
for Linux
0 8 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && (shell script)
for other Unix,BSD
0 8 28-31 * * [ `echo \`cal\` | awk '{print $NF}'` -eq 1 ] && (shell script)
另一种方法:
单独靠crontab判断比较复杂,所以把判断部分写到执行脚本中
#!/bin/bash
today=`date +%d`
last_day=`cal | xargs | awk '{print $NF}'`
if [ "$today" != "$last_day" ];then
exit 1
fi
.... # other codes start from here
通过脚本实现的:
crontab里设定一条:
0 12 28-31 * * sh /tmp/start.sh
start.sh 脚本如下:
******************************************************************************
#!/usr/bin/ksh
#this script is used to start the xxx in the last day of every month
ym=`date +%m" "%Y`
if [ `date +%d` = `cal $ym|xargs|awk '{print $NF}'` ]
then
sh yourscripts
fi
********************************************************************************
原理是每月的最后几天(28号到31号)定时执行脚本start.sh来判断当天是否是本月最后一天,如果是执行 yourscripts,不是则退出。
这是五年前为了完成一个特定审计而研究的,当时也是必须在每月的最后一天执行。希望今天仍旧能够帮到你:)
详细请参考:http://www.codesky.net/article/201109/133201.html
- crontab每月最后一天执行
- crontab每月最后一天执行
- Linux crontab 在每月最后一天执行
- crontab 每月最后一天
- 每月最后一天执行shell
- 每月最后一天执行的job写法
- oracle 每月最后一天执行一次
- Oracle获取每月最后一天
- 获取每月第一天最后一天 java
- 每月的最后一天和第一天
- 获得某月最后一天,每月天数
- SQL获取每月最后一天记录
- SQL获取每月最后一天记录
- Calendar:获取每年每月的最后一天
- 获得每月的最后一天日期
- 每月的第一天和最后一天oracle
- SQL获取每月最后一天记录
- asp.net得到每月最后一天日期
- LeetCode - Longest SubString without repeating characters_003
- Codeforces Round #313 (Div. 2) C. Gerald's Hexagon
- 周赛 大数找规律
- HDOJ--1719--Friend
- C# Winform中实现主窗口打开登录窗口关闭的方法
- crontab每月最后一天执行
- C#在C++编写的DLL中注册函数并回调
- C/C++堆、栈及静态数据区详解
- openssl rsa.h file not found
- Dubbo框架——基础知识
- 查找出现次数超过一半的数
- macbook下安装tesseract
- poj 2506 Tiling【大数+递推】
- 关于SQL语句中SUM函数返回NULL的解决办法