批处理自动进程控制器脚本

这段时间在做测试,当测试数据发生错误时,需要关闭linux服务器上的服务并重启,反复重启过于麻烦,因此写了一个批处理脚本自动关闭和启动服务。

(1)关闭和开启本地服务

net stop xx
net start xx

(2)在linux服务器上关闭和开启云服务(使用公钥连接,具体可参考linux常用指令)linux常用指令_gjg244的博客-CSDN博客

ssh xxx@180.21.88.11 "killall -w aService"
ssh xxx@180.21.88.11 "nohup aService >/dev/null 2>&1 &"

>/dev/null 2>&1 表示不输出任何信息到终端
nohup command & 表示想让command指令后台运行

(3)清空本地日志

rd /s /Q "D:/安全文件/注册表"

(4)由于步骤(3)出现了中文字符需要在首行加上utf-8编码格式

命令行控制器(CMD)默认情况下,编码为936(简体中文 GBK编码)

chcp 65001

注:

远程执行命令时,脚本中的内容可视为被双引号包含起来的

远程执行命令的情况下,例如:ssh user@remote_host "${COMMOND}":

  • 使用单引号的时候,$COMMAND定义的命令字符都会在本地被去掉特殊意义,只是一串完全没有解析引用的字符串传过去远程主机;
  • 如果是使用双引号时,$COMMAND定义的特殊命令字符都会在本地被解析引用,比如上面COMMAND中的反引号、EXTRACT_DIR变量、i变量,所以此时要在COMMAND中的特殊字符前加上转义符号“”,这样就会去掉在本地的解析引用;但是如果COMMAND变量中也有一个BAK_TIME变量引用前是不用加转义符的,因为这个变量就是希望在本地引用的。

参考博客:

1、http://blog.sina.com.cn/s/blog_4aae007d010192qc.html

2、ssh远程执行命令的符号转义问题 - 走看看

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值