使用rsync批量部署🥑

使用rsync批量部署🥑


 

在日常运维中,需要批量部署项目,可以使用rsync操作。

如果系统没有rsync命令,可以使用以下命令安装。

[root@localhost ~]# yum -y install rsync    

1. 更新目录:

[root@localhost ~]# vim rsync.sh
#!/bin/bash
# 定义目标主机 iplist
="/opt/iplist/ip.txt"
# 定义源目录
SOURCE_DIR="/opt/tomcat7-1/"
# 定义目标目录
DEST_DIR="/opt/tomcat7-1/" for i in $(cat $iplist);do echo "**********开始同步$i************"; rsync -a --delete --progress "$SOURCE_DIR" "$i:$DEST_DIR" if [ $? -eq 0 ];then echo "$i同步成功!" else echo "$i同步失败!" fi done

解释

  • --progress: 这个选项会在文件传输时显示每个文件的传输进度,包括已传输的字节数和传输速度。
  • -a: 归档模式,保留文件的属性。
  • --delete: 删除目标目录中在源目录中不存在的文件。
  1. 在本文中rsync命令用于将源目录 $SOURCE_DIR的内容同步到目标目录 $DEST_DIR,并删除目标目录中在源目录中不存在的文件。
  2. rsync命令中,你需要在 $SOURCE_DIR和 $DEST_DIR后面加上一个斜杠/,以表示同步的是目录中的内容,而不是目录本身。

 2. 更新文件:

[root@localhost ~]# vim rsync.sh
#!/bin/bash
# 定义目标主机 iplist
="/opt/iplist/ip.txt"
# 定义源目录或文件 SOURCE_DIR="/opt/tomcat8/conf/web.xml" # 定义目标目录或文件
DEST_DIR
="/opt/tomcat8/conf/web.xml" for i in $(cat $iplist);do echo -e "\033[35m*****************开始同步********************\033[0m" #rsync -a --delete --progress "$SOURCE_DIR" "$i:$DEST_DIR" rsync -a --progress "$SOURCE_DIR" "$i:$DEST_DIR" if [ $? -eq 0 ];then echo "$i同步成功!" else echo "$i同步失败!" fi done

 

posted @ 2024-10-30 15:38  Noleaf  阅读(7)  评论(0编辑  收藏  举报