代码上线的shell脚本

简介:

本脚本来自有学习阿铭的博文学习:
工作中,生产环境中一个业务在跑在多台机器上,为的是负载均衡,高可用。如何让这些代码保持一致呢?

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

#!/bin/bash
#用途:代码上线的的shell脚本。
#作者:Caron maktini
#日期:2018年11月27日
#版本:v0.1

#提醒用户,是否更新了要上线的代码列表文件 
read -p "你是否已经更新了文件列表./file.list?确认请输入Y,或者按其他任意键退出脚本。" a

#如果直接按回车,也会退出脚本 
if [ -z "$a" ]
then 
      exit 1
fi

if [ 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用户有写权限。




相关文章
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
6天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
26 0
|
7天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
8天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
27 1
|
12天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
143 0
|
12天前
|
弹性计算 Shell Go
ecs服务器shell常用脚本练习(九)
【4月更文挑战第10天】shell代码训练(八)
136 0
|
16天前
|
弹性计算 Shell Linux
ecs服务器shell常用脚本练习(六)
【4月更文挑战第4天】shell代码训练(六)
109 0
|
21天前
|
弹性计算 Shell 应用服务中间件
ecs服务器shell常用脚本练习(四)
【4月更文挑战第4天】shell代码训练(四)
96 0
|
23天前
|
Shell
【shell】实时查看网卡流量脚本
【shell】实时查看网卡流量脚本
|
23天前
|
Shell Linux
Linux的shell入门教程shell脚本入门教程
Linux的shell入门教程shell脚本入门教程
15 0