shellスクリプト-自動更新(指定されたファイルを指定された場所にコピー)


現在のマシンファイルを指定したサーバディレクトリにコピー
server="120.xx.xx.100"
localpath="/opt/  "
if [ "$1" != "" ]
then
  server="$1"
fi

cp ${localpath}/lib/*.json ./temp/
cp ${localpath}/lib/*.so ./temp/lib/
cp ${localpath}/dist/bin/.so ./temp/lib/

sshpass -p     scp -r ./temp/* root@${server}:/opt/api/

Java実行プログラムを監視し、停止した場合、自動的にスクリプトを再起動します.
#! /bin/sh

proc_name="/usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -jar /opt/  jar    "        #   

proc_num()                      #      
{
    num=`ps -ef | grep "$proc_name" | grep -v grep | wc -l`
    return $num
}

while [ true ]; do
    proc_num
    number=$?                       #      
    if [ $number -eq 0 ]            #       0
    then                            #       ,        。
        rm -rf /opt/jar   /dump
	rm -rf /tmp/    /*
        cd /opt/jar   ; ./run.sh
        time=$(date "+%Y-%m-%d %H:%M:%S")
        echo "${time} - process not found, restarted." >> /opt/    /applogs/monitor.log
    fi
    /bin/sleep 3
done