加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

工作所用的模块回滚脚本

发布时间:2020-12-15 16:45:57 所属栏目:安全 来源:网络整理
导读:俗话说的好:“真男人从来不回滚”,但是家中常备一个回滚脚本也是很有必要的,我所在公司的服务器模块名都是在初始化的时候写进/etc/role_install这个文件里,如下图的这个服务器就是fss服务器: 650) this.width=650;" src="http://img.jb51.cc/vcimg/stat

俗话说的好:“真男人从来不回滚”,但是家中常备一个回滚脚本也是很有必要的,我所在公司的服务器模块名都是在初始化的时候写进/etc/role_install这个文件里,如下图的这个服务器就是fss服务器:

wKioL1lcicDTHuIEAAAc35tj_Kw536.png


再比如下面这个服务器,虽然包含nginx的组件但是httpproxy的服务器:

wKiom1lcijzy4_9MAAAloN3Ijck735.png


那么有了这样的前提,整个回滚的脚本内容如下:

#!/bin/bash
#WrittenbyChrisChan@July-4th-2017
#Desription:这是一个回滚的脚本。

module=$(cat/etc/role_install|grep-vzkclient|grep-vnginx)
echo-e'33[31m现在将执行回滚操作,本次回滚只回滚普通模块,不包含nginx和zkclient!33[0m'
echo"回滚的模块名称:"$module
echo-e'33[33m如果想取消回滚操作,请ctrl+c立即停止本脚本...33[0m'
sleep5

cd/dxpbackup/hswx/$module&&zip$module.zip-x"*og*"-r.#到备份的文件夹里去压缩
mv/dxpbackup/hswx/$module/$module.zip/mnt/hswx
echo$module".zip文件已经生成!"

until["$decision"=="Y"-o"$decision"=="y"-o"$decision"=="N"-o"$decision"=="n"]
do
read-p"请问是否用回滚的压缩包覆盖到/mnt/hswx下?(y/n)"decision
echo"您的选择是:"$decision
if[$decision==Y-o$decision==y]
then
echo"现在已经开始覆盖..."
rm-rf/mnt/hswx/$module#先把原来的内容删除
unzip/mnt/hswx/$module.zip-d/mnt/hswx/$module#重新解压缩进去
echo-e'33[32m覆盖已经完成,可以直接执行/startall脚本!33[0m'
elif[$decision==N-o$decision==n]
then
echo-e'33[32m生成的'$module'.zip文件保存在/root文件夹里33[0m'
else
echo-e'33[31m输入字符不符合!请重新输入!33[0m'
fi
done


新的知识点!

1)zip在压缩文件夹的时候要过滤掉某些文件使用“-x”参数,比如说要在AAA文件夹里面过滤掉abc和jqk这两个文件,那么语句就是#zip AAA.zip -x "abc" -x "jqk" -r . 或者是 #zip -r -x=abc -x=jqk AAA.zip . 这样两个语句。


如果你要过滤掉的是一个文件夹,比如那么就要在文件夹后面名字加上一个*,下图就是要压缩整个auc文件夹为456.zip但是又不想要lib这个文件夹,就使用了#zip 456.zip -x "lib*" -r .

wKiom1lck3ny7e5DAAFedrqgs0I255.png

不过如果文件夹里还有其他lib开头的文件夹也会被过滤掉,这一点要注意。


2)本shell里面涉及了逻辑判断,而[[ 和 [ 的区别如下图:

wKiom1lcmF3hhIlVAAAqj1jTU9U969.gif


3)如果if语句中出现报错“[: too many arguments”,很有可能就是字符串变量中可能存在空格,shell解析时将其认为是多个参数,再进行判断时,无法知道该获取哪个值,所以最好都用双引号括起来;


4)如果是“变量a等于aa且变量b等于bb 或者 变量c等于cc且变量d等于dd ” 这样的判断句怎么写?答曰:

[$a="aa"-a$b="bb"]||[$c="cc"-a$d="dd"]




参考资料:https://zhangge.net/4776.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读