博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码上线的shell脚本
阅读量:7113 次
发布时间:2019-06-28

本文共 1103 字,大约阅读时间需要 3 分钟。

本脚本来自有学习阿铭的博文学习:

工作中,生产环境中一个业务在跑在多台机器上,为的是负载均衡,高可用。如何让这些代码保持一致呢?

提示:本文中的S全部都$符,不要问为什么,马云爸爸的社区就这样。

#!/bin/bash#用途:代码上线的的shell脚本。#作者:Caron maktini#日期:2018年11月27日#版本:v0.1#提醒用户,是否更新了要上线的代码列表文件 read -p "你是否已经更新了文件列表./file.list?确认请输入Y,或者按其他任意键退出脚本。" a#如果直接按回车,也会退出脚本 if [ -z "$a" ]then       exit 1fiif [ Sa == "y" -o $a == "Y" ]then     echo "脚本将在2秒后,继续执行。"      #每秒输出一个。共输出两个     for i in 1 2     do         echo  -n "."        sleep 1     done     echo else     exit 1 fi #判断有无./rsync.exp文件 [ -f ./rsync.exp ] && rm -f ./rsync.exp #定义rsync. exp cat > ./rsync.exp << EOF #!/usr/bin/expect   set passwd "密码"     set host [lindex \$argv 0]   set file [lindex \$argv 1]spawn rsync -avR  --files-from=\$file   /   user#\S host:/ expect  {    "yes/no"  {send "yes\r"}     "password:"  {send  \$passwd\r} }expect eof EOF chmod a+x ./rsync.exp #定义检测文件是否存在的函数 if_file_exist(){     if  [ ! -f $1 ]    then          echo "文件$1不存在,请检查。"         exit 1 } #ip.list为所有WEB机器的ip列表 #file.list为要同步的文件列表 for ip in `cat ./ip.Iis` do     ./rsync.exp $ip ./file.Iist done #善后处理 rm-f  rsync.exp #创建user01用户,并且保证user01用户对WED用户有写权限。

转载地址:http://uomhl.baihongyu.com/

你可能感兴趣的文章
hadoop执行 报错
查看>>
CentOS7.0下部署Postfix Sasl Dovecot Openwebmail服务
查看>>
CentOS7.0下NTP时间同步服务
查看>>
Ex2010-07 Installing(Updating) Exchange Server 2010 Service Pack 3
查看>>
16.3、awk使用介绍
查看>>
C++的函数重载
查看>>
Python第六周 学习笔记(3)
查看>>
数组的高级(排序和查找)
查看>>
标准I/O和管道
查看>>
python的高级应用详解
查看>>
关于JMETER的一些总结整理
查看>>
解密令牌桶
查看>>
实时显示例task manager.jsp
查看>>
requre.js模块管理页面中的js文件,优化页面,减少请求
查看>>
Linux双网卡静态路由修改
查看>>
快捷键介绍
查看>>
周期性计划任务/权限/LDAP见解
查看>>
思科拓扑---rip协议应用
查看>>
python 高阶函数:返回函数
查看>>
OSI模型及IP分类---来自达内学员吴瑞课堂笔记
查看>>