备份数据 进入文件夹
1 /data/wwwjarapi/schoolcloudapi
删除日志
这会删除文件夹及其子文件夹下的日志文件
1 2 3 find . -type f -name "*log.txt" -exec rm -f {} \; find . -type f -name "*.gz" -exec rm -f {} \; find . -type f -name "*.tmp" -exec rm -f {} \;
复制原项目
1 2 cd ../cp -r schoolcloudapi schoolcloudapi_bak
批量执行脚本 创建批量执行脚本
1 vi /etc/init.d/schoolcloudapitest.sh
我这里会有以端口.sh命名的各个服务,所以能使用下面的方式启动。
内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #!/bin/sh server_names=(8301 8302 8304 8305 8306 8307 8308 8309 8310 8311) . /etc/profile status (){ for server_name in ${server_names[@]} do netstat -tuln | grep -q :$server_name if [ $? -eq 0 ]; then echo "$server_name is start" else echo "$server_name is stop" fi done } start () { for server_name in ${server_names[@]} do service $server_name .sh start done echo "all start success." } stop () { for server_name in ${server_names[@]} do service $server_name .sh stop done echo "all stop success." } case "$1 " in status) status ;; start) start ;; stop) stop ;; restart) stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac
添加执行权限
1 chmod +x /etc/init.d/schoolcloudapitest.sh
测试
1 2 3 service schoolcloudapitest.sh status service schoolcloudapitest.sh stop service schoolcloudapitest.sh start
想关说明 批量执行 批量执行脚本
内容
1 2 3 4 5 6 7 8 9 10 #!/bin/bash server_names=(8301.sh 8302.sh 8304.sh 8305.sh 8306.sh 8307.sh 8308.sh 8309.sh 8310.sh) for server_name in ${server_names[@]} do echo "run $server_name " done
测试
1 2 chmod +x batch.sh./batch.sh
服务脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/bin/sh . /etc/profile start () { cd $JAR_ROOT nohup java -Dfile.encoding=utf-8 -jar -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128M $JAR_PATH >$LOG_PATH 2>&1 & echo "$JAR_PATH start success." } stop () { kill -9 `ps -ef|grep $JAR_PATH |grep -v grep|grep -v stop|awk '{print $2}' ` echo "$JAR_PATH stop success." } case "$1 " in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac
查看端口状态 1 2 3 4 5 6 netstat -tuln | grep -q :8301 if [ $? -eq 0 ]; then echo "8301 is start" else echo "8301 is stop" fi