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

你可能感兴趣的:(Linux,Java,linux,shell)