<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                crontab 命令常見于 Unix 和類 Unix 的操作系統之中(Linux 就屬于類 Unix 操作系統),用于設置周期性被執行的指令。 crontab 命令從輸入設備讀取指令,并將其存放于 crontab 文件中,以供之后讀取和執行。通常,crontab 儲存的指令被守護進程激活,crond 為其守護進程,crond 常常在后臺運行,每一分鐘會檢查一次是否有預定的作業需要執行。 通過 crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell   script 腳本。時間間隔的單位可以是分鐘、小時、日、月、周的任意組合。 這里我們看一看 crontab 的格式 ``` # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed ``` ## 1\crontab 準備 crontab 在本實驗環境中需要做一些特殊的準備,首先我們會啟動 rsyslog,以便我們可以通過日志中的信息來了解我們的任務是否真正的被執行了(在本實驗環境中需要手動啟動,而在自己本地中 Ubuntu 會默認自行啟動不需要手動啟動) ``` sudo apt-get install -y rsyslog sudo service rsyslog start ``` ![在這里插入圖片描述](https://img-blog.csdnimg.cn/2020090802493656.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 在本實驗環境中 crontab 也是不被默認啟動的,同時不能在后臺由 upstart 來管理,所以需要我們來啟動它: ``` sudo cron -f & ``` ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025102902.png#pic_center) ## 2\crontab 使用 下面將開始 crontab 的使用了,我們通過下面一個命令來添加一個計劃任務 ``` crontab -e ``` 第一次啟動會出現這樣一個畫面,這是讓我們選擇編輯的工具,選擇第二個基本的 vim 就可以了 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025142729.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 而選擇后我們會進入這樣一個畫面,這就是添加計劃的地方了,與一般的配置文檔相同,以#號開頭的都是注釋,通過文檔的最后一排我們可以猜猜 crontab 的格式是什么樣的呢? ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025154302.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 詳細的格式可以使用上一節中學習到的 man 命令查看: ``` man crontab ``` 在了解命令格式之后,我們通過這樣的一個例子來完成一個任務的添加,在文檔的最后一排加上這樣一排命令,該任務是每分鐘我們會在/home/shiyanlou 目錄下創建一個以當前的年月日時分秒為名字的空白文件 ``` */1 * * * * touch /home/shiyanlou/$(date +\%Y\%m\%d\%H\%M\%S) ``` 注意 “ % ” 在 crontab 文件中,有結束命令行、換行、重定向的作用,前面加 ” \ ” 符號轉義,否則,“ % ” 符號將執行其結束命令行或者換行的作用,并且其后的內容會被做為標準輸入發送給前面的命令。 添加成功后我們會得到最后一排 installing new crontab 的一個提示 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025231688.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 當然我們也可以通過這樣的一個指令來查看我們添加了哪些任務 ``` crontab -l ``` 通過圖中的顯示,我們也可以看出,我們正確的保存并且添加成功了該任務的 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025252545.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 雖然我們添加了任務,但是如果 cron 的守護進程并沒有啟動,它根本都不會監測到有任務,當然也就不會幫我們執行,我們可以通過以下 2 種方式來確定我們的 cron 是否成功的在后臺啟動,默默的幫我們做事,若是沒有就得執行上文準備中的第二步了 ``` ps aux | grep cron or pgrep cron ``` ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025308260.png#pic_center) 通過下圖可以看到任務在創建之后,執行了幾次,生成了一些文件,且每分鐘生成一個: ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025315868.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 我們通過這樣一個命令可以查看到執行任務命令之后在日志中的信息反饋 ``` sudo tail -f /var/log/syslog ``` 從圖中我們可以看到分別在 13 點 28、29、30 分的 01 秒為我們在 shiyanlou 用戶的家目錄下創建了文件 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025335478.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 當我們并不需要這個任務的時候我們可以使用這么一個命令去刪除任務 ``` crontab -r ``` 通過圖中我們可以看出我們刪除之后再查看任務列表,系統已經顯示該用戶并沒有任務哦 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200908025349750.png#pic_center) ## 3\crontab 的深入 每個用戶使用 crontab -e 添加計劃任務,都會在 /var/spool/cron/crontabs 中添加一個該用戶自己的任務文檔,這樣目的是為了隔離。 ![實驗樓](https://img-blog.csdnimg.cn/20200908025424263.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 如果是系統級別的定時任務,應該如何處理?只需要以 sudo 權限編輯 /etc/crontab 文件就可以。 cron 服務監測時間最小單位是分鐘,所以 cron 會每分鐘去讀取一次 /etc/crontab 與 /var/spool/cron/crontabs 里面的內容。 在 /etc 目錄下,cron 相關的目錄有下面幾個: ![實驗樓](https://img-blog.csdnimg.cn/20200908025430919.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70#pic_center) 每個目錄的作用: /etc/cron.daily,目錄下的腳本會每天執行一次,在每天的 6 點 25 分時運行; /etc/cron.hourly,目錄下的腳本會每個小時執行一次,在每小時的 17 分鐘時運行; /etc/cron.monthly,目錄下的腳本會每月執行一次,在每月 1 號的 6 點 52 分時運行; /etc/cron.weekly,目錄下的腳本會每周執行一次,在每周第七天的 6 點 47 分時運行; 系統默認執行時間可以根據需求進行修改。
                  <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>

                              哎呀哎呀视频在线观看