使用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: 刪除目標目錄中在源目錄中不存在的文件。
- 在本文中rsync命令用于將源目錄
$SOURCE_DIR的內容同步到目標目錄$DEST_DIR,并刪除目標目錄中在源目錄中不存在的文件。在
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

浙公網安備 33010602011771號