<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Shell 監(jiān)控文件變化

          共 1526字,需瀏覽 4分鐘

           ·

          2020-12-30 16:34


          轉(zhuǎn)自:?有心故我在

          鏈接:https://www.cnblogs.com/youxin/p/13816303.html

          文件監(jiān)控可以配合rsync實現(xiàn)文件自動同步,例如監(jiān)聽某個目錄,當(dāng)文件變化時,使用rsync命令將變化的文件同步。(可用于代碼自動發(fā)布)


          實現(xiàn)文件自動同步,例如監(jiān)聽某個目錄,當(dāng)文件變化時,使用rsync命令將變化的文件同步。(可用于代碼自動發(fā)布)。

          ?

          inotify 是linux內(nèi)核的一個特性,在內(nèi)核 2.6.13 以上都可以使用。


          如果在shell環(huán)境下,可以安裝 yum install inotify-tools,安裝以后有兩個命令可以用inotifywait 和 inotifywatch,inotifywait 是需要使用的命令。


          監(jiān)聽/usr/local/src 目錄:


          /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M'--format '%T %w %f %e' -e modify,delete,create,attrib /usr/local/src


          參數(shù):

          參數(shù)說明
          -m持續(xù)監(jiān)聽
          -r使用遞歸形式監(jiān)視目錄
          -q減少冗余信息,只打印出需要的信息
          -e指定要監(jiān)視的事件,多個時間使用逗號隔開
          --timefmt時間格式
          --format監(jiān)聽到的文件變化的信息

          --timefmt 說明:

          ymd分別表示年月日,H表示小時,M表示分鐘


          --format 說明:

          參數(shù)說明
          %w表示發(fā)生事件的目錄
          %f表示發(fā)生事件的文件
          %e表示發(fā)生的事件
          %Xe事件以“X”分隔
          %T使用由–timefmt定義的時間格式

          執(zhí)行上面的命令之后,在監(jiān)聽的目錄下創(chuàng)建一個1.txt文件,得到如下結(jié)果:

          執(zhí)行上面的命令之后,在監(jiān)聽的目錄下創(chuàng)建一個1.txt文件,得到如下結(jié)果:


          22/03/18 17:22 /usr/local/src/ 1.txt CREATE22/03/18 17:22 /usr/local/src/ 1.txt ATTRIB


          這個腳本的功能是循環(huán)監(jiān)聽文件或目錄的增刪改事件,當(dāng)事件發(fā)生執(zhí)行設(shè)置的腳本文件。


            #!/bin/sh  # 監(jiān)視的文件或目錄  filename=$1  # 監(jiān)視發(fā)現(xiàn)有增、刪、改時執(zhí)行的腳本  script=$2
          inotifywait -mrq --format '%e' --event create,delete,modify $filename | while read event do case $event in MODIFY|CREATE|DELETE) bash $script ;; esac done


          shell腳本后臺執(zhí)行:

          一、nohup

          使用nohup,其中test.sh為所執(zhí)行的腳本,out.txt為輸出信息的地方。


          nohup sh test.sh>out.txt &


          良許個人微信


          添加良許個人微信即送3套程序員必讀資料


          → 精選技術(shù)資料共享

          → 高手如云交流社群





          本公眾號全部博文已整理成一個目錄,請在公眾號里回復(fù)「m」獲??!

          推薦閱讀:

          幾句話,離職了

          在大學(xué)城開一間賓館能掙多少錢?

          「薅」52圖初探Linux通用知識


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費獲?。?!


          瀏覽 57
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最新高清无码免费专区 | 青青草亚洲精品 | 18禁黄无码一区二区免费网站 | 99热青青| 日本韩国欧美18 |