為root用戶創建crontab
crontab -u root -e
查看文件
ll /var/spool/cron/crontabs/root
ubuntu 開啟 crontab 日志
修改配置文件,取消 cron 行的注釋
sudo vim /etc/rsyslog.d/50-default.conf
重啟 系統日志服務 即可
sudo service rsyslog restart
關於crontab
cron是一個Linux定時執行工具,可以在無需人工干預的情況下運行作業。在Ubuntu server 下,cron是被默認安裝並啟動的。通過/etc/crontab文件,可以看到以下內容:
Ubuntu cron 定時執行任務
ununtu 通過調用 run-parts 命令,定時運行四個目錄下的所有腳本。
1)/etc/cron.hourly,目錄下的腳本會每個小時讓執行一次,在每小時的2分鍾時運行;
2)/etc/cron.daily,目錄下的腳本會每天讓執行一次,在每天0點17分時運行;
3)/etc/cron.weekly,目錄下的腳本會每周讓執行一次,在每周第七天的3點56分時運行;
4)/etc/cron.mouthly,目錄下的腳本會每月讓執行一次,在每月19號的5點32分時運行;
cron 服務的啟動與停止
通過調用/etc/init.d/中的腳本進行。命令如下:
1)service cron start /啟動服務/
2)service cron stop /關閉服務/
3)service cron restart / 重啟服務/
4)service cron reload /重新載入配置/
crontab命令
rontab 命令用於安裝、刪除或者列出用於驅動cron后台進程的表格。也就是說,用戶把需要執行的命令序列放到crontab文件中以獲得執行,每個用戶都可以有自己的crontab文件。以下是這個命令的一些參數與說明:
1)crontab -u /設定某個用戶的cron服務/
2)crontab -l /列出某個用戶cron服務的詳細內容/
3)crontab -r /刪除某個用戶的cron服務/
4)crontab -e /編輯某個用戶的cron服務/
參數名稱 含義 示例
-l 顯示用戶的Crontab文件的內容 crontabl –l
-i 刪除用戶的Crontab文件前給提示 crontabl -ri
-r 從Crontab目錄中刪除用戶的Crontab文件 crontabl -r
-e 編輯用戶的Crontab文件 crontabl -e
/etc/crontab文件語法如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個字段代表的含義及取值范圍如下:
Minute :分鍾(0-59),表示每個小時的第幾分鍾執行該任務
Hour : 小時(1-23),表示每天的第幾個小時執行該任務
Day : 日期(1-31),表示每月的第幾天執行該任務
Month : 月份(1-12),表示每年的第幾個月執行該任務
DayOfWeek : 星期(0-6,0代表星期天),表示每周的第幾天執行該任務
Command : 指定要執行的命令(如果要執行的命令太多,可以把這些命令寫到一個腳本里面,然后在這里直接調用這個腳本就可以了,調用的時候記得寫出命令的完整路徑)
在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選字段,可視需要決定。對於不指定的字段,要用“*”來填補其位置。同時,cron支持類似正則表達式的書寫,支持如下幾個特殊符號定義:
“” ,代表所有的取值范圍內的數字;
“/” , 代表”每”(“/5”,表示每5個單位);
“-” , 代表從某個數字到某個數字(“1-4”,表示1-4個單位);
“,” ,分開幾個離散的數字;
舉例如下:
5 * * * * ls /指定每小時的第5分鍾執行一次ls命令/
30 5 * * * ls /指定每天的 5:30 執行ls命令/
30 7 8 * * ls /指定每月8號的7:30分執行ls命令/
50 7 * * * root run-parts /etc/cron.daily /每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件/