linux內建的cron程序能幫我們實現這些需求,cron搭配shell指令碼,非常複雜的指令也沒有問題。
我們經常使用的是crontab命令是cron table的簡寫,它是cron的配置檔案,也可以叫它作業列表,我們可以在以下資料夾內找到相關配置檔案。
1、/var/spool/cron/ 目錄下存放的是每個使用者包括root的crontab任務,每個任務以建立者的名字命名
2、/etc/crontab 這個檔案負責排程各種管理和維護任務。
3、/etc/cron.d/ 這個目錄用來存放任何要執行的crontab檔案或指令碼。
4、我們還可以把指令碼放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目錄中,讓它每小時/天/星期、月執行一次。
我們常用的命令如下:
crontab
[-u username] //省略使用者表表示操作當前使用者的crontab
-e (編輯工作表)
-l (列出工作表裡的命令)
-r (刪除工作作)
我們用crontab -e進入當前使用者的工作表編輯,是常見的vim介面。每行是一條命令。
crontab的命令構成為 時間+動作,其時間有分、時、日、月、周五種,操作符有
**說明
*取值範圍內的所有數字
/每過多少個數字
-從x到z
,雜湊數字
例項1:每1分鐘執行一次mycommand
* * * * * mycommand
例項2:每小時的第3和第15分鐘執行
3,15 * * * * mycommand
例項3:在上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * * mycommand
例項4:每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * mycommand
例項5:每週一上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 mycommand
例項6:每晚的21:30重啟smb
30 21 * * * /etc/init.d/smb restart
例項7:每月1、10、22日的4 : 45重啟smb
45 4 1,10,22 * * /etc/init.d/smb restart
例項8:每週
六、週日的1 : 10重啟smb
10 1 * * 6,0 /etc/init.d/smb restart
例項9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb
0,30 18-23 * * * /etc/init.d/smb restart
例項10:每星期六的晚上11 : 00 pm重啟smb
0 23 * * 6 /etc/init.d/smb restart
例項11:每一小時重啟smb
0 */1 * * * /etc/init.d/smb restart
例項12:晚上11點到早上7點之間,每隔一小時重啟smb
0 23-7/1 * * * /etc/init.d/smb restart
crontab定時任務
今天工作項有個任務是讓ubuntu定時執行某個指令碼,對postgresql資料庫進行定時備份。linux 系統都有個cron定時任務的機制。今天做些筆記,以便日後翻查。注意 cron機制是有個使用者系統的概念的,即分系統cron和使用者cron,每個使用者所執行的cron任務可能不同。1.以roo...
crontab定時任務
基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 第6列要執行的命令 我的需求是定時備份mongodb 編寫任務執行的指令碼ba...
Crontab定時任務
我們可以使用crontab執行一些週期任務 crontab u user file crontab u user 將file做為crontab的任務列表檔案並載入crontab 編輯crontab檔案內容 顯示crontab檔案內容 刪除載入後的crontab檔案內容 每分鐘向使用者目錄下的log....