日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

crontab用法疑云

發布時間:2025/4/5 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 crontab用法疑云 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

crontab的教程里面,一般都說 */N 表示每隔N分鐘/小時執行一次。

偶爾的教程里會講到:這個N應該被60整除才行。

我在網上基本上沒有搜到,如果N不被60整除的時候,會是怎樣?

問題起因最開始在于:

個人有個crontab任務,希望設置成40分鐘執行一次。但是設置了*/40之后發現,任務總是會在整點和40分的時候執行。

查看了下任務設置,并沒有設置在整點執行。然而,整點執行之后,隔40分鐘之后執行這一點又是符合crontab設置的。

所以,奇怪之處在于,為何整點會執行?

重新設定了一個不會被整除的數:*/47。查看任務,每次執行時打個log。發現:在整點和47分的時候都會執行。

聯想到crontab任務的執行標準,是每分鐘判斷一次某個任務是否應該被執行,那么,crontab的判斷標準應該如下:

1. 每分鐘執行一次,判斷任務是否應該執行;

2. 判斷標準為:當前分鐘數除以設置分鐘數,余數為0則可以執行。

這樣,設置為*/40或*/47的時候,在整點時刻(分鐘數為00),除以設置分鐘數(40和47),余數為0,故均會被執行。

由此可見,某些教程里說的,“設置的N應該被60整除才行”的意思是:如果N能被60整除,則會相當于每隔N分鐘執行一次,一個小時正好執行60/N次;如果N不能被60整除,則在能整除和整點(除完余數為0)的時候都會執行。

下面為測試文件,設定為*/23分鐘執行。

?75 ==> t3 <==
?76 Thu Jan 15 10:46:01 CST 2015
?77 Thu Jan 15 11:00:01 CST 2015
?78 Thu Jan 15 11:23:01 CST 2015
?79 Thu Jan 15 11:46:01 CST 2015
?80 Thu Jan 15 12:00:01 CST 2015
?81 Thu Jan 15 12:23:01 CST 2015
?82 Thu Jan 15 12:46:01 CST 2015
?83 Thu Jan 15 13:00:01 CST 2015
?84 Thu Jan 15 13:23:01 CST 2015
?85 Thu Jan 15 13:46:01 CST 2015

總結

以上是生活随笔為你收集整理的crontab用法疑云的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。