linux 定時任務 crontabs 安裝及使用

<center> <img style="border-radius: 0.5125em; box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 0px 10px 0 rgba(34,36,38,.08);" src="https://oscimg.oschina.net/oscnet/1561780948294.png"> <br> <div style="color:orange; border-bottom: 0px solid #d9d9d9; display: inline-block; color: #999; padding: 2px;">boom</div> </center>shell

安裝 crontab

yum install crontabs

centos7 自帶了我沒有手動去裝vim

啓動/關閉

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:指定要執行的命令centos

  • 編輯命令兩種方式
    1. 在命令行輸入: crontab -e 而後添加相應的任務,wq存盤退出
    2. 直接編輯/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/1centos7

小栗子

* 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` &gt;&gt; ~/clear_cache_logs.txt
free -lh &gt;&gt; ~/clear_cache_logs.txt

清理內存 cache ,並將清理時間和內存剩餘狀況日誌輸入到~/clear_cache_logs.txt文件中,方便查看,能夠結合crontab作定時清理內存cache的定時任務。.net

相關文章
相關標籤/搜索