本文是基于 CentOS 7,其他 Linux 發(fā)行版可能略有不同。
crontab 適用場景
crontab 用于提交和管理執(zhí)行周期性的任務。
例如你需要在每天凌晨 1 點重啟服務器,那么 crontab 可以很方便的幫你執(zhí)行重啟操作。
再例如,你要每隔 5 分鐘檢查某個服務是否在運行,也可以使用 crontab 來實現(xiàn)。
crontab 使用
1、安裝 crontab
一般 CentOS 會默認安裝了 crontab,執(zhí)行下面命令,查看是否安裝:
rpm -qa | grep crontab
如果查詢結果類似于下面,說明已安裝:
crontabs-1.11-6.20121102git.el7.noarch
如果結果為空,說明沒有安裝,執(zhí)行下面命令進行安裝即可:
yum install -y crontabs
2、crontab 常用命令
查看 crontab 運行狀態(tài):
systemctl status crond
如果顯示結果為 Active: active (running) 則表示運行中,Active: inactive (dead) 表示未運行。
如果 crontab 未運行,可以通過下面命令設置開機自啟和啟動。
設置 crontab 開機自啟:
systemctl enable crond
啟動 crontab:
systemctl start crond
查看當前用戶的定時任務:
crontab -l
3、設置定時任務
這里我們以一個「每天晚上定時將指定文件夾打包成壓縮包」的任務為例,說明設置定時任務的步驟。
首先,在 root 目錄下創(chuàng)建一個 test 文件夾:
mkdir test
然后在 root 下創(chuàng)建一個腳本 test.sh:
vim /root/test.sh
按 i 進入編輯狀態(tài),粘貼下面內容:
#! /bin/bash
tar -zcvf test.tar /root/test
按 Esc 鍵,再輸入 :wq 保存文件。
執(zhí)行下面命令即可編輯當前用戶的定時任務:
crontab -e
假如我想在每天 19:00 的時候壓縮 test 文件夾,那么可以按下 i 進入編輯狀態(tài),粘貼下面內容:
0 19 * * * bash /root/test.sh
按 Esc 鍵,再輸入 :wq 保存,當然你也可以修改為臨近的時間,測試是否生效。
通過 crontab -l 可查看到已保存的定時任務:
0 19 * * * bash /root/test.sh
定時任務參數(shù)說明:文章來源:http://www.zghlxwxcb.cn/news/detail-597640.html
# .---------------- 分鐘,取值范圍為 0-59
# | .------------- 小時,取值范圍為 0-23
# | | .---------- 日,取值范圍為 1-31
# | | | .------- 月,取值范圍為 1-12
# | | | | .---- 星期,取值范圍為 0-7,0 和 7 都表示星期日
# | | | | | .-- 要執(zhí)行的命令
# | | | | | |
0 19 * * * bash /root/test.sh
到達指定時間之后,查看 /root 目錄下是否已經(jīng)有了 test.tar 壓縮包,如果有說明定時任務執(zhí)行成功;如果沒有,則說明 crontab 沒有執(zhí)行。文章來源地址http://www.zghlxwxcb.cn/news/detail-597640.html
到了這里,關于CentOS 7 定時任務 crontab的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!