谷粒商城心得(四)
由于服务器放在家里,正好断点了,所有的服务都断开了,因此写了多个shell,进行重启,下面是其中一个
[root@localhost logs]# cat start.sh #!/bin/bash :<<EOF 目的:杀死进程,并重启jenkins和sonar 时间:2020-06-11 作者:dalianpai EOF #1. jenkins cd /wgr/logs date=$(date +%Y-%m-%d) startTime=$(date "+%Y-%m-%d %H:%M:%S") echo "开始时间:$startTime" >> $date".log" #1. jenkins jenkins_port=`ps -ef |grep jenkins |grep -v grep |awk '{ print $2}'` if [ -n "$jenkins_port" ] then systemctl stop jenkins echo "正在关闭jenkins" >> $date".log" fi systemctl start jenkins echo "启动jenkins..." >> $date".log" #2. sonar sonar_port=`lsof -i:9000 | sed -n '2p' |awk '{print $2}'` if [ -n "$sonar_port" ] then su sonar /wgr/SonarQube/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh stop echo "正在关闭sonar" >> $date".log" fi su sonar /wgr/SonarQube/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh start echo "启动soanr..." >> $date".log" endTime=$(date "+%Y-%m-%d %H:%M:%S") echo "结束时间:"$endTime >> $date".log" echo "***********************************************" >> $date".log"
然后放在rc.local中去执行。
由于远程的服务放到斐讯n1中了,只要有电它就会启动。所有把探测的脚本放到它的环境下。
root@DLP:~# cat start.sh #!/bin/bash #***************************************# # #目的:探测各个服务有没有起来 #时间:2020-06-11 #作者:dalianpai # #**************************************# > run.log while read line do pre=${line%%$ *} post=${line##*$} netcat -z -v $pre &> /dev/null [ $? -eq 0 ] && echo $pre"的"$post"正在运行" >> run.log || echo $pre"的"$post"启动失败" >> run.log done<service.txt root@DLP:~# cat service.txt 192.168.1.119 8888 $ jenkins 192.168.1.119 9000 $ sonar root@DLP:~# cat run.log 192.168.1.119 8888 的 jenkins正在运行 192.168.1.119 9000 的 sonar正在运行 root@DLP:~#