AIX Crontab job 每月最後一天執行範例
在 AIX的工作排程管理上,我們經常使用 crontab管理排程作業。這裡遇到一個問題是,若我們希望月結時例行性去執行某一作業應該怎麼做呢?
(月結:是指會計每月最後一天的月底結算)
因為不同的月份會有不同的天數,當碰到2月閏月時也可能出現2月29日。
分享下面程式搭配 crontab job 的設定來處理此問題:
執行步驟:
Step1.設定 AIX下的 crontab Job
AIX 下執行 crontab -e (這邊使用範例是 AIX 7.1版本)
因為月底有可能是 28-31號,故我們讓程式在 28-31日時去執行判斷該天是否為月底。
再下「wq! 」存檔離開,再使用 「crontab -l」確認一下是否有存檔成功。
Step2.設定AIX的Shell Script檔
Shell Script部份如下:
請注意紅色部份請替換成你要執行的作業
#!/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
/usr/bin/su - sapadm -c "stopsap;
startsap" > /dev/null <-這邊請替換你要執行的作業
fi
將你的程式存成 lastdayofmonth.sh 搭配 crontab 路徑去放置,這邊範例是放在 /
下
注意一下權限。
下載 Script範例 👉
lastdayofmonth.sh
延伸閱讀:
👉 如何解决IBM AIX PowerPath xcryptd 進程導致高CPU問題
👉 AIX NFS 異常處理 | access denied
沒有留言:
張貼留言