欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell腳本實(shí)現(xiàn)實(shí)時(shí)檢測(cè)文件變更

 更新時(shí)間:2015年05月21日 10:23:27   投稿:junjie  
這篇文章主要介紹了shell腳本實(shí)現(xiàn)實(shí)時(shí)檢測(cè)文件變更,本文直接給出實(shí)現(xiàn)代碼和使用方法,以及svn下的實(shí)現(xiàn)代碼,需要的朋友可以參考下

使用python做web開(kāi)發(fā),現(xiàn)在流行使用uwsgi調(diào)用python程序,但是使用uwsgi一段時(shí)間發(fā)現(xiàn)有一個(gè)弊端,就是每次更改源代碼后必須重啟uwsgi才能生效,包括更改模板文件也是,我是個(gè)懶人,再經(jīng)過(guò)一段時(shí)間反復(fù)的更改-重啟后我終于忍受不了,決定寫(xiě)一個(gè)腳本來(lái)定時(shí)程序目錄的文件改動(dòng),并及時(shí)自動(dòng)重啟uwsgi,來(lái)解放我的雙手可以不用理會(huì)這些瑣碎的重啟工作. 用了點(diǎn)時(shí)間來(lái)編寫(xiě)了一個(gè)腳本用來(lái)判斷是否更改,然后判斷是否需要重啟uwsgi.

下面放出腳本內(nèi)容:

#!/bin/bash
# Author   : cold
# Filename  : checkchange.sh
# Useage   : sh checkchange.sh [dir]
checkisdir()
    # Have one argument
    # The argument is a directory
    for i in `ls $1 | sed -e 's/ /\n/g'`
    do
        if [ -d $1/$i ]
        then
            if [ $i == "bin" -o $i == "lib" -o $i == "include" ]  # 不想檢測(cè)的目錄(這里是使用virtualenv生成的環(huán)境文件)
            then
                continue
            fi
            dir="$1/$i"
            checkisdir $dir
        else
            files=$files'\n'$1'/'$i
        fi
    done
    echo -e $files
}
while true
do
    if [ -e /tmp/stat.tmp ]
    then
        for i in `checkisdir $1`
        do
            if [ -e /tmp/patch.tmp ]
            then
                stat $i | grep Change > /tmp/nstat.tmp
                rm -f /tmp/patch.tmp
                continue
            fi
            stat $i | grep Change >> /tmp/nstat.tmp
        done
        diff /tmp/stat.tmp /tmp/nstat.tmp > /tmp/patch.tmp
        if [ $? -eq 0 ]
        then
            sleep 10
        else
            /etc/init.d/uwsgi.py restart          # 將此處更改為想要做的操作
            patch /tmp/stat.tmp /tmp/patch.tmp
        fi
    else
        for i in `checkisdir $1`
        do
            stat $i | grep Change >> /tmp/stat.tmp
        done
        continue
    fi
done

這里主要測(cè)試變更后重啟uwsgi,使用方法:我的bottle程序在/code/python下:

復(fù)制代碼 代碼如下:

sh checkchange.sh /code/python &

如果使用svn可以參考下面代碼:

#!/bin/bash
# Author    : cold
# Filename   : checkupdate.sh
# Describle   : To Check update of svn

while true
do
    cd /code/python
    svn up | grep At > /dev/null 2>&1
    if [ $? -eq 0 ]
    then
        sleep 30
    fi

    svn up | grep Updated > /dev/null 2>&1
    if [ $? -eq 0 ]
    then
        /etc/init.d/uwsgi.py restart
    fi
done

相關(guān)文章

  • shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本分享

    shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本分享

    shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本,大家參考使用吧
    2013-12-12
  • Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop,分布式的大數(shù)據(jù)存儲(chǔ)和計(jì)算, 免費(fèi)開(kāi)源,本文介紹Hadoop單機(jī)版、集群安裝步驟。
    2013-10-10
  • 自動(dòng)生成linux網(wǎng)卡配置腳本分享

    自動(dòng)生成linux網(wǎng)卡配置腳本分享

    這篇文章主要介紹了自動(dòng)生成linux網(wǎng)卡配置的腳本,因?yàn)長(zhǎng)inux虛擬機(jī)在復(fù)制時(shí)候網(wǎng)卡信息會(huì)更新,所以導(dǎo)致需要重新配置網(wǎng)卡。本腳本功能,第一次添加網(wǎng)卡后,啟動(dòng)虛擬機(jī),然后運(yùn)行腳本(可以寫(xiě)在啟動(dòng)腳步中),然后根據(jù)ifconfig -a 的信息來(lái)創(chuàng)建ifcfg-ethX的配置文件或者修改對(duì)應(yīng)的ifcfg-ethX的mac
    2014-03-03
  • 深入了解Linux的文件權(quán)限

    深入了解Linux的文件權(quán)限

    Shell是操作系統(tǒng)外殼程序的統(tǒng)稱,Windos中的圖形化界面、Linux中的命令行外殼都是外殼程序。CentOS中的外殼程序被稱為bash。本文主要是和大家聊聊Linux中的文件權(quán)限,感興趣的可以了解一下
    2022-10-10
  • Shell腳本中使用function(函數(shù))示例

    Shell腳本中使用function(函數(shù))示例

    這篇文章主要介紹了Shell腳本中使用function(函數(shù))示例,本文著重講解的是如何在shell腳本中使用自定義函數(shù),并給出了兩個(gè)例子,需要的朋友可以參考下
    2014-11-11
  • Linux?shell進(jìn)行文件解壓,復(fù)制和移動(dòng)詳解

    Linux?shell進(jìn)行文件解壓,復(fù)制和移動(dòng)詳解

    Linux下進(jìn)行文件的解壓、復(fù)制、移動(dòng)應(yīng)該是最常見(jiàn)的操作了。尤其是我們?cè)陧?xiàng)目中使用大量的數(shù)據(jù)集文件時(shí)。本文我們就來(lái)細(xì)數(shù)用Shell進(jìn)行文件操作的這些坑
    2022-05-05
  • Linux?screen命令使用示例

    Linux?screen命令使用示例

    Screen是一個(gè)全屏窗口管理器,它在多個(gè)進(jìn)程(通常是交互式shell)之間多路傳輸物理終端。每個(gè)虛擬終端提供DEC?VT100終端的功能,以及ANSI?X3的幾個(gè)控制功能,本文給大家分享Linux?screen命令使用示例,感興趣的朋友一起看看吧
    2023-03-03
  • shell傳參并將參數(shù)傳遞給sql文件的方法

    shell傳參并將參數(shù)傳遞給sql文件的方法

    今天小編就為大家分享一篇shell傳參并將參數(shù)傳遞給sql文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Shell獲取進(jìn)程PID的實(shí)現(xiàn)

    Shell獲取進(jìn)程PID的實(shí)現(xiàn)

    本文主要介紹了Shell獲取進(jìn)程PID的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • shell中數(shù)組的定義及操作

    shell中數(shù)組的定義及操作

    本文主要介紹了shell中數(shù)組的定義及操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論