在指定時間執行程式的前提,是要倆姐計算機種時間是怎麼來的。
系統時鐘計算機中有兩個時鐘:硬體時鐘與系統時鐘。
硬體時鐘:由鈕扣電池供電,記錄的是2023年1月1日開始截至至今的秒數。以世界標準時間(utc, universal time)或者說是格林威治時間(gmt, greenwich mean time)為止。由於不記錄年份,所以不存在y2k問題,但是對於32位系統,會存在2038問題,也就是使用乙個32位數字來記錄描述,到達2023年時,該數字會不夠用。
系統時鐘:使用者實際看到和使用的時鐘,與系統或者使用者設定的時區有關,又被稱為核心時鐘或者軟體時鐘。
cst可以理解為美國、澳大利亞、古巴、中國的標準時間都可,在當前語境下,為中國標準時間china standard time ut+8:00。
該版本書為:date ccyymmddhhmm.ss,但對於我學習所使用的ubuntu18來講,會提示錯誤。
從上面可以看出對於具體使用的linux版本協議為date mmddhhmmccyy.ss
同樣,首先檢視硬體時鐘(其實當前還不太理解,這裡的輸出和硬體有什麼關係)
同步的協議,預設是同步到utc時間,可以嘗試同步到本地硬體時間。 可以看到有乙個8個小時的時差,已經體現出來了。
ntpdate可以從乙個基於網路的時間伺服器來初始化系統時針。該伺服器可以是區域網內部,伺服器**商以及公開訪問的ntp伺服器。伺服器使用信任級別(trust level)來確定權威時間的伺服器。數字越小,可信度越高,最高為1,而且考慮到傳輸中的延遲。20*
***zteng
cp -r ~/documents ~/backups
第20分鐘
每小時每天
每月每週
使用者名稱指令
一些更加複雜的時間書寫語法如下:比如
20 0,2,4,6,8,10 1-5 1-12/2 * zteng cp -r ~/documents ~/backups
上面寫法的意思是在每個兩個月裡面的第1-5天裡面的0,2,4,6,8,10中的第20分鐘都執行一下複製的操作。
如果想將cron的輸出集中收集起來,可以加上重定向符。
20 0,2,4,6,8,10 1-5 1-12/2 * zteng cp -r ~/documents ~/backups >> log.file
2)注釋應該傳達一些重要的資訊,包括:
1、新增/修改記錄項的使用者的名字。
2、如果出現問題,應該如何聯絡該使用者。
3、新增或修改記錄項的日期。
4、記錄項(或修改)的目的,指定它所作用的檔案。
at命令適用於在某一特定的時間點,僅執行一次的操作。當前時間為21:13,在21:15時,希望系統能自動執行一次複製操作。ctrl + d為結束符。
atq可以檢視當前存在的at job
atrm 1可以刪除對應id的job。
時間不止上述的21:15的形式有效,下面的形式皆有效。
at 5pm
at 5:15pm
at noonat teatime (下午茶時間,一般指4點)
at now + 5 minutes
at 4pm + 3 days (指在3天後的下午4點)
at 1 weeks控制
/etc/at.deny (若存在但為空,則全放開,慢慢新增黑名單) 這種方式時預設情況。
/etc/at.allow(若存在但為空,則慢慢申請,慢慢新增白名單)
linux命令 在某指定時間執行命令 at
at 在某指定時間執行命令。at options time adte increment atqatrmjob list batch options time at 和 batch 都是在某指定時間執行命令。它們都接受標準輸入和檔案輸入。atq 顯示at佇列中的作業列表。atrm 將取消掛起 at ...
在spring中指定時間執行程式
讀bean中加入task任務 xmlns task xsi schemalocation 中加入 這類似的spring小功能應該放到最後,因為需要為spring準備上下文或者是例項化物件後才能操作其他元件任務。package task component taskfortest public cla...
crontab固定時間執行用法
cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。1 直接用crontab命令編輯 cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些引數與說明 crontab u 設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數 ...