對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2016/5/12 8:28:35
crontab - 每月第幾週的問題
今天朋友跟我討論了一個問題,crontab的語法是「分 時 日 月 周 command」,那我們如何實現在每個月的第一個週六來執行某個命令或腳本呢?
經過思考我個人想到一種解決方案
1、先做個每週六執行的計劃;
2、計劃裡執行一個腳本,腳本的內容是判斷data +%e的執行結果,如果小於7的話來執行你需要執行的命令或腳本。
每個月的第一個週六:
腳本裡內容是
又有朋友問,那如果是第二個週六如何,解決方法如下,我們修改腳本為
精簡了一下,也可以這樣寫
本文出自 「三零妖人」 博客,請務必保留此出處http://301ren.blog.51cto.com/8887653/1618754
原文出處:crontab - 每月第几周的问题 - 三零妖人 - 51CTO技术博客
今天朋友跟我討論了一個問題,crontab的語法是「分 時 日 月 周 command」,那我們如何實現在每個月的第一個週六來執行某個命令或腳本呢?
經過思考我個人想到一種解決方案
1、先做個每週六執行的計劃;
2、計劃裡執行一個腳本,腳本的內容是判斷data +%e的執行結果,如果小於7的話來執行你需要執行的命令或腳本。
每個月的第一個週六:
0 0 * * 6 運行你的腳本
腳本裡內容是
=====================================================================
#!/bin/bash
t=$(date +%e)
if [ "$t" -le 7 ];
then
你需要執行的命令;
fi
======================================================================
又有朋友問,那如果是第二個週六如何,解決方法如下,我們修改腳本為
=====================================================================
#!/bin/bash
t=$(date +%e)
if [ "$t" -ge 8 ] && [ "$t" -le 13 ];
then
你需要執行的命令;
fi
======================================================================
精簡了一下,也可以這樣寫
0 0 * * 6 [ "$\(date +\%e\)" -le 7 ]&&要執行的命令
本文出自 「三零妖人」 博客,請務必保留此出處http://301ren.blog.51cto.com/8887653/1618754
原文出處:crontab - 每月第几周的问题 - 三零妖人 - 51CTO技术博客