如何用Xshell在Linux下编写启停脚本【二】

接上一篇《如何用Xshell在Linux下编写启停脚本【一】-------  主要针对单个项目的启停脚本》

如何用Xshell在Linux下编写启停脚本【二】---- 针对多个项目的启停

话不多说,直接进入主题  ======>

我是将启动和停止两个脚本分别写在两个文件中,写好了千万别忘记给文件授权

写好之后,直接通过命令【sh start.sh】启动,启动成功如图:

脚本写法一:实现启动​​​​​

注:以上之所以会出现有的有OK,有的则无,是因为我采用了前面第一篇《如何用Xshell在Linux下编写启停脚本【一】》两种不同的脚本写法,但这都不影响最终目的

脚本写法二:实现启动
脚本写法二:启动成功界面

重点:当你采用脚本写法二来编写的启动脚本,若还是采用命令【sh start.sh】来启动,你会发现xshell页面一直是项目启动运行状态,因此个人建议使用命令【nohup start.sh 在后台直接启动脚本】

检验下是否真的启动成功

下面是启动和停止的两种脚本代码写法,请分别编写至start.sh 和shutdown.sh 文件中


脚本写法一:此方法依赖于单个项目的启停脚本,通过命令【./start.sh start或stop来实现启停】

#启动脚本写法一:
#!/bin/sh
#All startup scripts

sh /usr/software/lin/project/stopcar/server-eureka/server-eureka.sh start &
sh /usr/software/lin/project/stopcar/gateway-api/gateway-api.sh start &
sh /usr/software/lin/project/stopcar/ms-user/ms-user.sh start &
sh /usr/software/lin/project/stopcar/ms-system/ms-system.sh start &
sh /usr/software/lin/project/stopcar/ms-security/ms-security.sh start &
sh /usr/software/lin/project/stopcar/ms-report/ms-report.sh start &
sh /usr/software/lin/project/stopcar/ms-payment/ms-payment.sh start &
sh /usr/software/lin/project/stopcar/ms-paycallback/ms-paycallback.sh start &
sh /usr/software/lin/project/stopcar/ms-parkinglot/ms-parkinglot.sh start &
sh /usr/software/lin/project/stopcar/ms-parking/ms-parking.sh start &
sh /usr/software/lin/project/stopcar/ms-merchants/ms-merchants.sh start &
sh /usr/software/lin/project/stopcar/ms-hardware/ms-hardware.sh start &
sh /usr/software/lin/project/stopcar/ms-finance/ms-finance.sh start &
sh /usr/software/lin/project/stopcar/ms-driveway/ms-driveway.sh start &
sh /usr/software/lin/project/stopcar/ms-citysafety/ms-citysafety.sh start &
sh /usr/software/lin/project/stopcar/ms-autopayment/ms-autopayment.sh start &
sh /usr/software/lin/project/stopcar/ms-alipayment/ms-alipayment.sh start &
sh /usr/software/lin/project/stopcar/gateway-sentry/gateway-sentry.sh start &
sh /usr/software/lin/project/stopcar/gateway-exitpay/gateway-exitpay.sh start &
sh /usr/software/lin/project/stopcar/gateway-driveway/gateway-driveway.sh start &
sh /usr/software/lin/project/stopcar/gateway-csc/gateway-csc.sh start 

#--------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------

#停止脚本写法一:
#!/bin/sh
#All shutdown scripts

sh /usr/software/lin/project/stopcar/ms-user/ms-user.sh stop &
sh /usr/software/lin/project/stopcar/ms-system/ms-system.sh stop &
sh /usr/software/lin/project/stopcar/ms-security/ms-security.sh stop &
sh /usr/software/lin/project/stopcar/ms-report/ms-report.sh stop &
sh /usr/software/lin/project/stopcar/ms-payment/ms-payment.sh stop &
sh /usr/software/lin/project/stopcar/ms-paycallback/ms-paycallback.sh stop &
sh /usr/software/lin/project/stopcar/ms-parkinglot/ms-parkinglot.sh stop &
sh /usr/software/lin/project/stopcar/ms-parking/ms-parking.sh stop &
sh /usr/software/lin/project/stopcar/ms-merchants/ms-merchants.sh stop &
sh /usr/software/lin/project/stopcar/ms-hardware/ms-hardware.sh stop &
sh /usr/software/lin/project/stopcar/ms-finance/ms-finance.sh stop &
sh /usr/software/lin/project/stopcar/ms-driveway/ms-driveway.sh stop &
sh /usr/software/lin/project/stopcar/ms-citysafety/ms-citysafety.sh stop &
sh /usr/software/lin/project/stopcar/ms-autopayment/ms-autopayment.sh stop &
sh /usr/software/lin/project/stopcar/ms-alipayment/ms-alipayment.sh stop &
sh /usr/software/lin/project/stopcar/gateway-sentry/gateway-sentry.sh stop &
sh /usr/software/lin/project/stopcar/gateway-exitpay/gateway-exitpay.sh stop &
sh /usr/software/lin/project/stopcar/gateway-driveway/gateway-driveway.sh stop &
sh /usr/software/lin/project/stopcar/gateway-csc/gateway-csc.sh stop &
sh /usr/software/lin/project/stopcar/gateway-api/gateway-api.sh stop &
sh /usr/software/lin/project/stopcar/server-eureka/server-eureka.sh stop 

脚本写法二:不依赖于其他的启停脚本,通过命令【./start.sh或./stop.sh直接实现启停】

#启动脚本写法二:
#!/bin/sh
#All startup scripts
echo "In the now start starting ..."
java -jar -Xss256K -Xmx1024m -Xms512m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/server-eureka/server-eureka-1.0.0.jar &
echo " server-eureka start OK ..."
java -jar -Xss256K -Xmx1024m -Xms512m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/gateway-api/gateway-api-1.0.0.jar &
echo " gateway-api  start OK ..."
java -jar -Xss256K -Xmx256m -Xms128m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-user/ms-user-1.0.0.jar &
echo " ms-user start OK ..."
java -jar -Xss256K -Xmx512m -Xms128m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-system/ms-system-1.0.0.jar &
echo " ms-system  start OK ..."
java -jar -Xss256K -Xmx256m -Xms128m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-security/ms-security-1.0.0.jar &
echo " ms-security start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-report/ms-report-1.0.0.jar &
echo " ms-report start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-payment/ms-payment-1.0.0.jar &
echo " ms-payment  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-paycallback/ms-paycallback-1.0.0.jar &
echo " ms-paycallback  start OK ..."
java -jar -Xss256K -Xmx512m -Xms128m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-parkinglot/ms-parkinglot-1.0.0.jar &
echo " ms-parkinglot  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-parking/ms-parking-1.0.0.jar &
echo " ms-parking  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-merchants/ms-merchants-1.0.0.jar &
echo " ms-merchants  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-hardware/ms-hardware-1.0.0.jar &
echo " ms-hardware  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-finance/ms-finance-1.0.0.jar &
echo " ms-finance  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-driveway/ms-driveway-1.0.0.jar &
echo " ms-driveway  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-citysafety/ms-citysafety-1.0.0.jar &
echo " ms-citysafety  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-autopayment/ms-autopayment-1.0.0.jar &
echo " ms-autopayment  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/ms-alipayment/ms-alipayment-1.0.0.jar &
echo " ms-alipayment  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/gateway-sentry/gateway-sentry-1.0.0.jar &
echo " gateway-sentry  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/gateway-exitpay/gateway-exitpay-1.0.0.jar &
echo " gateway-exitpay start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/gateway-driveway/gateway-driveway-1.0.0.jar &
echo " gateway-driveway  start OK ..."
java -jar -Xss256K -Xmx512m -Xms256m -Xmn32m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 /usr/software/lin/project/stopcar/gateway-csc/gateway-csc-1.0.0.jar &
echo " gateway-csc  start OK ..."


#=================================================================================================================================================================================================================================================================
#=================================================================================================================================================================================================================================================================


#停止脚本写法二:
#!/bin/sh
#All shutdown scripts
echo " In the now start Stopping All service..."
kill -9 $(ps -ef | grep ms-user-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-user stop OK ..."
kill -9 $(ps -ef | grep ms-system-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-system stop OK ..."
kill -9 $(ps -ef | grep ms-security-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-security stop OK ..."
kill -9 $(ps -ef | grep ms-report-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-report stop OK ..."
kill -9 $(ps -ef | grep ms-payment-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-payment  stop OK ..."
kill -9 $(ps -ef | grep ms-paycallback-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-paycallback  stop OK ..."
kill -9 $(ps -ef | grep ms-parking-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-parking  stop OK ..."
kill -9 $(ps -ef | grep ms-parkinglot-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-parkinglot  stop OK ..."
kill -9 $(ps -ef | grep ms-merchants-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-merchants  stop OK ..."
kill -9 $(ps -ef | grep ms-hardware-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-hardware  stop OK ..."
kill -9 $(ps -ef | grep ms-finance-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-finance  stop OK ..."
kill -9 $(ps -ef | grep ms-driveway-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-driveway  stop OK ..."
kill -9 $(ps -ef | grep ms-citysafety-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-citysafety  stop OK ..."
kill -9 $(ps -ef | grep ms-autopayment-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-autopayment  stop OK ..."
kill -9 $(ps -ef | grep ms-alipayment-1.0.0 | grep -v grep | awk '{print $2}')
echo "ms-alipayment  stop OK ..."
kill -9 $(ps -ef | grep gateway-sentry-1.0.0 | grep -v grep | awk '{print $2}')
echo "gateway-sentry  stop OK ..."
kill -9 $(ps -ef | grep gateway-exitpay-1.0.0 | grep -v grep | awk '{print $2}')
echo "gateway-exitpay stop OK ..."
kill -9 $(ps -ef | grep gateway-driveway-1.0.0 | grep -v grep | awk '{print $2}')
echo "gateway-driveway  stop OK ..."
kill -9 $(ps -ef | grep gateway-csc-1.0.0 | grep -v grep | awk '{print $2}')
echo " gateway-csc  stop OK ..."
kill -9 $(ps -ef | grep gateway-api-1.0.0 | grep -v grep | awk '{print $2}')
echo "gateway-api  stop OK ..."
kill -9 $(ps -ef | grep server-eureka-1.0.0 | grep -v grep | awk '{print $2}')
echo "server-eureka  stop OK ..."

在检验下停止是否可用

脚本写法一:实现停止
脚本写法二:实现停止

至此,脚本写法--准确无误,但是经孤王亲测,这样的脚本写法启动耗时60秒左右,停止耗时大概在5-6秒左右...在实际项目开发中,我们可以结合实际业务场景选择,需要单个项目启动就单个项目启动,需要多个项目启动,就多个项目启动。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 以下是一个简单的例子,该脚本用于在服务器上备份指定目录: ``` #!/bin/bash # 定义备份文件名 backup_file="my_backup_$(date +%Y%m%d).tar.gz" # 定义备份目录 backup_dir="/home/user/my_folder" # 定义备份文件存储路径 backup_path="/home/user/backups/$backup_file" # 执行备份命令 tar -czvf $backup_path $backup_dir # 输出备份完成信息 echo "Backup complete: $backup_path" ``` 要使用此脚本,请将其保存为 `backup.sh` 文件,并将其上传到您的服务器中。然后,通过以下命令在终端中运行脚本: ``` bash backup.sh ``` 请注意,您需要将 `backup_dir` 和 `backup_path` 变量替换为您要备份的实际目录和备份文件的实际存储路径。 ### 回答2: 编写一个Xshell脚本的目的是为了在Xshell这个终端模拟器中执行一系列的命令。下面是一个简单的例子: ```bash #!/bin/bash # 连接到目标服务器 xshell -l root -pw password 192.168.0.1 # 执行一些命令 echo "Start executing commands..." ls cd /var/www/html rm -rf temp/* mkdir logs # 断开与目标服务器的连接 exit # 脚本结束 echo "Script execution completed." ``` 在这个例子中,脚本首先使用`xshell`指令连接到目标服务器(用户名为root,密码为password,IP地址是192.168.0.1)。 之后,脚本执行了一些命令,如`ls`、`cd`和`rm`,来显示和操作目标服务器上的文件系统。你可以根据自己的需求修改这些命令。 最后,脚本通过`exit`来断开与目标服务器的连接,并输出一条提示脚本执行完成的信息。 请注意,脚本中的用户名、密码和IP地址应该根据实际情况做相应修改。另外,还可以根据具体需求添加更多的命令和功能。 ### 回答3: 编写一个xshell脚本可以让我们在远程服务器上进行自动化操作,提高工作效率。以下是一个示例: 首先,我们需要在脚本开头指定使用的shell环境,比如/bin/bash。 然后,我们可以定义一些变量来存储服务器的连接信息,比如服务器IP地址、用户名、密码等。可以通过读取用户输入来获取这些信息,也可以在脚本中直接指定。 接下来,我们可以使用ssh命令来连接远程服务器,并执行一些命令。使用ssh命令的语法为ssh username@ipaddress,其中username为远程服务器的用户名,ipaddress为远程服务器的IP地址。 在连接成功后,我们可以编写需要执行的命令。比如,我们可以使用cd命令切换到指定的目录,使用ls命令列出目录中的文件,使用wget命令下载文件等。可以根据需求编写相应的命令。 最后,我们可以使用exit命令退出远程服务器的连接。 示例脚本如下: ```bash #!/bin/bash remote_ip="x.x.x.x" # 远程服务器的IP地址 username="your_username" # 远程服务器的用户名 password="your_password" # 远程服务器的密码 # 连接远程服务器 ssh $username@$remote_ip << EOF # 在远程服务器上执行的命令 cd /path/to/directory # 切换到指定目录 ls # 列出目录中的文件 wget http://example.com/file.txt # 下载文件 exit # 退出远程服务器 EOF ``` 以上是一个简单的xshell脚本示例,可以根据具体需求进行修改和扩展。编写一个xshell脚本可以方便我们在远程服务器上进行自动化操作,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晓峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值