在linux系統中,計畫任務一般是由cron承擔,我們可以把cron設定為開機時自動啟動。cron啟動後,它會讀取它的所有配置檔案(全域性性配置檔案/etc/crontab,以及每個使用者的計畫任務配置檔案),然後cron會根據命令和執行時間來按時來呼叫度工作任務。
cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service cron start //啟動服務
/sbin/service cron stop //關閉服務
/sbin/service cron restart //重啟服務
/sbin/service cron reload //重新載入配置
/etc/init.d這個目錄是所有服務的指令碼,可以通過執行指令碼並且加上引數,開啟關閉或者重啟對應的服務
cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制
crontab引數
-u:編輯其他人的crontab,如果沒有加上這個引數的話就會開啟自己的crontab
crontab -u 使用者名稱
-l:可以列出crontab的內容
-r:可以移除crontab
-e:可以使用系統預設的編輯器,開啟crontab
-i:可以移除crontab,會跳出系統資訊讓你再次確定是否移除crontab
範例:
*/5 * * * * 每五分鐘執行
0 * * * * 每小時執行
0 0 * * * 每天執行
0 0 * * 0 每週執行
0 0 1 * * 每月執行
0 0 1 1 * 每年執行
常用命令:
重啟cron:/etc/init.d/cron restart
檢視cron:crontab -l
檢視cron的狀態(開啟或關閉):service cron status
開啟cron檔案:crontab -e
檢視cron日誌:/var/log/syslog
minute(分):可以設定0-59分
hour(小時):可以設定0-23小時
day of month(日期):可以設定1-31號
month(月份):可以設定1-12月
day of week(星期):可以設定0-7星期幾,其中0和7都代表星期天,也可以使用名稱來表示星期天到星期一,例如sun表示星期天,mon表示星期一
"*"代表取值範圍內的數字
"/"代表"每"
"-"代表從某個數字到某個數字
","分開幾個離散的數字
1.開啟cron檔案
2.選擇乙個編輯器
使用規則:
儲存:ctrl+o
退出:ctrl+x
3.編寫定時命令每5分鐘執行一次jar包:
4.儲存退出
先ctrl+0儲存
再回車最後ctrl+x退出
5.檢查定時命令是否儲存成功
6.重啟cron
/etc/init.d/cron restart
ubuntu的cron編寫完畢後,需要重啟才會生效
7.檢視cron日誌
/var/log/syslog
8.刪除cron內的任務②把編輯器中的內容注釋掉
③重啟cron:service cron restart
編寫使用者側定時器
定時器是我們在平時開發中經常使用到的工具,特別是在協議的編寫上更是必不可少的組成部分。雖然系統本身給我們提供了定時器,但是有的時候,我們也想自己編寫乙個粗粒度的定時器,比如說在單元測試的時候。大家只要看到下面的例項 其實就會發現,只要利用一下sleep函式,編寫屬於自己的定時器原來不是一件複雜的事情...
Linux下的定時器
linux下的定時器有兩種,以下分別介紹 1 alarm 如果不要求很精確的話,用 alarm 和 signal 就夠了 unsigned int alarm unsigned int seconds 專門為sigalrm訊號而設,在指定的時間seconds秒後,將向程序本身傳送sigalrm訊號,...
Linux下的定時器
1.alarm 執行後,程序將繼續執行。在後期 alarm以後 的執行過程中將會在seconds秒後收到訊號sigalrm並執行其處理函式。include include include void sigalrm fn int sig int main void 2.alarm定時器,可是僅僅能精確...