<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **本文是基于****`CentOS 7`**,其他`Linux`發行版可能略有不同。 ## crontab 適用場景 > crontab 用于提交和管理執行周期性的任務。 例如你需要在每天凌晨 1 點重啟服務器,那么 crontab 可以很方便的幫你執行重啟操作。 再例如,你要每隔 5 分鐘檢查某個服務是否在運行,也可以使用 crontab 來實現。 ## crontab 使用 ### 1、安裝 crontab 一般 CentOS 會默認安裝了`crontab`,執行下面命令,查看是否安裝: ~~~text rpm -qa | grep crontab ~~~ 如果查詢結果類似于下面,說明已安裝: ~~~text crontabs-1.11-6.20121102git.el7.noarch ~~~ 如果結果為空,說明沒有安裝,執行下面命令進行安裝即可: ~~~text yum install -y crontabs ~~~ ### 2、crontab 常用命令 查看`crontab`運行狀態: ~~~text systemctl status crond ~~~ 如果顯示結果為`Active: active (running)`則表示運行中,`Active: inactive (dead)`表示未運行。 如果`crontab`未運行,可以通過下面命令設置開機自啟和啟動。 設置`crontab`開機自啟: ~~~text systemctl enable crond ~~~ 啟動`crontab`: ~~~text systemctl start crond ~~~ 查看當前用戶的定時任務: ~~~text crontab -l ~~~ ### 3、設置定時任務 這里我們以一個「每天晚上定時將指定文件夾打包成壓縮包」的任務為例,說明設置定時任務的步驟。 首先,在`root`目錄下創建一個`test`文件夾: ~~~text mkdir test ~~~ 然后在`root`下創建一個腳本`test.sh`: ~~~text vim /root/test.sh ~~~ 按`i`進入編輯狀態,粘貼下面內容: ~~~text #! /bin/bash tar -zcvf test.tar /root/test ~~~ 按`Esc`鍵,再輸入`:wq`保存文件。 執行下面命令即可編輯當前用戶的定時任務: ~~~text crontab -e ~~~ 假如我想在每天 19:00 的時候壓縮`test`文件夾,那么可以按下`i`進入編輯狀態,粘貼下面內容: ~~~text 0 19 * * * bash /root/test.sh ~~~ 按`Esc`鍵,再輸入`:wq`保存,當然你也可以修改為臨近的時間,測試是否生效。 通過`crontab -l`可查看到已保存的定時任務: ~~~text 0 19 * * * bash /root/test.sh ~~~ 定時任務參數說明: ~~~text # .---------------- 分鐘,取值范圍為 0-59 # | .------------- 小時,取值范圍為 0-23 # | | .---------- 日,取值范圍為 1-31 # | | | .------- 月,取值范圍為 1-12 # | | | | .---- 星期,取值范圍為 0-7,0 和 7 都表示星期日 # | | | | | .-- 要執行的命令 # | | | | | | 0 19 * * * bash /root/test.sh ~~~ 參數中的添加了`bash`字段,是因為我在實際使用的過程中,發現定時任務不執行,搜索之后發現,需要在執行的命令前添加`bash`或者`/etc/profile;/bin/sh`。 到達指定時間之后,查看`/root`目錄下是否已經有了`test.tar`壓縮包,如果有說明定時任務執行成功;如果沒有,則說明`crontab`沒有執行。 ### 4、crontab 不執行的原因 * 檢查`crontab`服務是否正常 * 檢查腳本路徑是否絕對路徑 * 檢查腳本路徑前是否添加了`bash`或`/etc/profile;/bin/sh` 如果以上都沒問題,那就要通過日志查找問題所在了。 ## 實際使用 我自己使用`crontab`是為了備份博客的數據到`gitee`,簡單說下步驟。 * 將數據所在的目錄初始化并推送到遠程倉庫 * 新建自動推送更新的腳本`git.sh` ~~~text #! /bin/bash t=$(date +%Y%m%d%H%M%S) cd /root/halo git pull git add . git commit -m $t git push ~~~ * `crontab -e`設置定時任務 ~~~text 0 23 * * * bash /root/halo/git.sh ~~~ 之所以備份到`gitee`而不是`GitHub`,當然是因為`gitee`訪問穩定且快,這里需要注意,要通過`SSH`方式推送。 以上就是我在使用`crontab`過程的總結,歡迎溝通交流。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看