Ubuntu下的定時功能

2021-10-03 20:23:07 字數 1364 閱讀 7649

最近因為要部署伺服器上的乙個服務,但是該服務不太穩定,有時候會因為莫名其妙的原因退出後台程序,於是每次服務掉線的時候就要登上伺服器手動重新開啟,很是麻煩,所以就想能不能寫個定時指令碼不斷監測程序,如果程序不存在則重新啟動服務,於是了解了一下ubuntu下的定時功能。

ubuntu下的定時功能一般都是通過系統服務cron來實現的:

crontab -l:列出當前使用者的定時任務。

crontab -e:編輯當前使用者的定時任務。

crontab -u ***xx:對某使用者的任務進行操作。

crontab -r:刪除定時任務。

上述命令如果沒有加-u引數的話預設對當前執行命令的使用者的定時任務進行操作。

service cron restart:重啟cron服務。

service cron stop:停止cron服務。

service cron start:啟動cron服務。

可以使用pgrep cron來檢視cron的pid,如果有結果輸出,說明cron是執行的,反之則沒有執行。

好了!終於來到定時任務內容格式方面的說明了!

定時任務的格式其實很簡單,每一行都是1個任務,每行有6個內容,每個內容以空格間隔開,從左到右每個內容含義分別為:

分鐘(0-59),表示在每個小時的第幾分鐘執行。

小時(1-23),表示在每天的第幾個小時執行。

天(1-31),表示在每月的第幾天執行。

月(1-12),表示在每年的第幾月執行。

星期(0-6),表示在每週的第幾天執行,0代表週日。

要執行的任務。

在前5個字段中,如果為*的話則表示「每」,即每分鐘,每小時,每週,每天等等。

比如說* * * * * echo "hello"表示每分鐘執行1次echo "hello"這個任務,再比如說1 2 3 * * echo "hello"表示每月的第3天中,第2個小時的第1分鐘執行echo "hello"這個任務,依此類推,大概就是這樣。

不過值得注意的是,在最後的要執行的任務那裡,如果命令太多,可以考慮寫在乙個指令碼當中,然後呼叫指令碼即可,這裡需要注意的是呼叫指令碼需要寫全路徑,cron服務在執行定時任務的時候在服務本身的乙個特定的目錄下,並不在其他的某些目錄下,所以需要使用全路徑呼叫。另外就是在執行命令的時候並不會有某些特殊的許可權,其使用bin/sh來執行命令,如果希望執行的命令本身具有某些許可權,需要在任務中自行加上sudo命令。

ubuntu下常用功能

1.ubuntu下rar解壓工具安裝方法 壓縮功能 安裝 sudo apt get install rar 解除安裝 sudo apt get remove rar 解壓功能 安裝 sudo apt get install unrar 解除安裝 sudo apt get remove unrar c...

ubuntu下的定時器編寫

在linux系統中,計畫任務一般是由cron承擔,我們可以把cron設定為開機時自動啟動。cron啟動後,它會讀取它的所有配置檔案 全域性性配置檔案 etc crontab,以及每個使用者的計畫任務配置檔案 然後cron會根據命令和執行時間來按時來呼叫度工作任務。cron是乙個linux下的定時執行...

ubuntu下crontab 定時執行php指令碼

有些時候需要定時自動執行一些指令碼檔案,如傳送郵件,寫入日誌等 首先檢視phpinfo 若phpinfo 中 server api 為 apache 2.0 handler 則為apache模組安裝模式,若為 cgi 則為cgi模組安裝模式 啟動並執行 確認ubuntu系統已經安裝了php5 cli...