安裝 crontab
yum install crontabs
centos7 自帶了我沒有手動去裝
啓動/關閉
service crond start // 啓動服務
service crond stop // 關閉服務
service crond restart // 重啓服務
service crond reload // 重新載入配置
查看 crontab 服務是否已設置爲開機啓動
systemctl list-unit-files | grep enable | grep crond
將 crontab 加入開機自動啓動
chkconfig crond on
// 或者
systemctl enable crond.service
查看 crontab 狀態
service crond status // 查看crontab服務狀態
編寫定時任務
- 命令格式
min hour day month dayofweek command
分 時 天 月 星期幾 命令
min:每個小時的第幾分鐘執行該任務;取值範圍0-59 hour:每天的第幾個小時執行該任務;取值範圍0-23
day:每月的第幾天執行該任務;取值範圍1-31
month:每年的第幾個月執行該任務;取值範圍1-12
dayofweek:每週的第幾天執行該任務;取值範圍0-6,0表示週末
command:指定要執行的命令
-
編輯命令兩種方式
- 在命令行輸入: crontab -e 然後添加相應的任務,wq存盤退出
- 直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
- 時間格式
* :表示任意的時刻;如小時位 * 則表示每個小時 n :表示特定的時刻;如小時位 5 就表示5時
n,m :表示特定的幾個時刻;如小時位 1,10 就表示1時和10時
n-m :表示一個時間段;如小時位 1-5 就表示1到5點
/n : 表示每隔多少個時間單位執行一次;如小時位 /1 就表示每隔1個小時執行一次命令,也可以寫成 1-23/1
小栗子
* 1 * * * ~/clear_cache.sh :從 1:00 到 1:59 每隔1分鐘執行一次腳本
0 * * * * ~/clear_cache.sh :每個小時的 0 分鐘執行一次腳本
*/10 * * * * ~/clear_cache.sh :每隔10分執行一次腳本
清理系統cache的腳本
代碼:
vim ~/clear_cache_logs.txt
sudo sysctl -w vm.drop_caches=3
sudo sysctl -w vm.drop_caches=1
echo `date -R` >> ~/clear_cache_logs.txt
free -lh >> ~/clear_cache_logs.txt
清理內存 cache
,並將清理時間和內存剩餘情況日誌輸入到~/clear_cache_logs.txt
文件中,方便查看,可以結合crontab
做定時清理內存cache
的定時任務。