- 积分
- 16841
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2024-5-23 13:57:26
|
显示全部楼层
1.5.0 同步时删除多余文件) g b/ d, Q. h
在服务器A上同步/opt/work目录到远程服务器B的/tmp/work目录下同时删除B服务器/work/jira/data/目录下相比于A服务器/tmp/work中多余的文件,最近在处理策划资源文件的时候需要将目录A的文件全部同步到目录B的文件,并且把目录B内多余的文件全部删除掉。所以,就想到了使用rsync的--delete参数来实现功能2 y3 D5 ? e! x
t1 x+ k* d6 i% o2 P1)A服务器
; {, ]2 l+ t) W6 H0 D[root@serverA ~]# cd /tmp/work
0 W7 R8 n. l# z4 q[root@serverA work]# ls( t& F9 \0 z: N! f) z7 J
a b c d 119 T2 l; n$ w3 }0 m
& H) e3 Y, x6 x( i! _6 f
2)B服务器
% h \# [: _3 q7 d, W* @[root@serverB ~]# cd /tmp/work% M5 M6 n$ a- G1 e k* r
[root@serverB work]# ls/ z4 a0 y! ]2 O; _8 a
c d 11 12 13 fg 5t4 z. K5 E- ?" N4 p" m
* ~: u8 G! F0 M ]) D2 b, R' R
3)从A服务器同步到B服务器(假设B服务器ip是192.168.130.11)
5 U- O. f, r) r: Z[root@serverA work]#rsync -avzP --delete rsync -avzhP --delete itadmin@192.168.130.11:/opt/data/ /work/jira/data/ #注意,--delete参数要放在源目录和目标目录前,并且两个目录结构一定要一致!不能使用./*3 b& r0 j0 o- d+ k7 X
sending incremental file list
7 n6 K! j, f% j+ A: U.// K k7 b- y9 e5 Y% Y9 I7 i
deleting fg1 N' l4 V4 a# A9 \5 q9 p
deleting 5t
# g8 g4 r V8 X7 gdeleting 132 z: `$ j: B8 W% p$ ?; X
deleting 12( Y6 n1 t5 K0 L# y+ V
11
+ ]9 E% N; [" D0 W% q: va+ C& G. K0 Z9 ~. F" P
b
5 H! G* u* L O# Zc
$ K+ E5 R* R+ a" Y& h* F: n: v. ad
# b9 ~) S; t# w1.5.1 保留同步文件权限、属主、属组等信息
2 b; p- k7 ~1 Crsync -avz /path/to/dirA/ /path/to/dirB/, b- L% b' ~5 Z5 N! r, P
1.5.2 不同步一些文件和目录
2 w3 f/ u' Z* W o# @& \0 n! x& g5 W: d+ J0 z0 Z+ v
rsync -avz --exclude="fileA1.txt" --exclude="/path/to/dirA/test/" /path/to/dirA/ /path/to/dirB/- y* C7 X; c6 f$ Y M* Y
rsync -avz --exclude 'fileA1.txt' --exclude '/path/to/dirA/test/' /path/to/dirA/ /path/to/dirB/
/ }/ L: D- {) V1 s% K5 _3 A1.5.3 拷贝本地文件; p6 i; b" t/ a. w) F. X
rsync -ahvz backup.tar.gz dirA/ # DESC 不存在时自动创建
/ e4 Y: h% F2 y% p( {- p+ b- C3 Wrsync -ahvz backup.tar.gz /path/to/dirA/ /path/to/dirB/3 ~6 e5 ?6 { n$ L5 p
1.5.4 shell拷贝到远程(推送)6 J% ^! \, `" `7 z5 z' n! D# ^/ i
rsync -avz /path/to/dirA/ user@remoteip:/path/to/dirB/4 ]) h: F n4 M3 O- u# Q
1.5.5 shell拷贝到本地(拉取)( F9 X2 R+ K- \* W4 z# Y. e' _
rsync -avz user@remoteip:/path/to/dirA/ /path/to/dirB/' [* [ f% H$ q) v: E* x" M3 V" B
1.5.6 远程rsync服务器拷贝到本地
: C9 `$ Y; r. jrsync -av user@remoteip::www /path/to/dirB/ #www为rsync模块命令+ ~" E$ `; L, O2 t+ g3 ]
1.5.7 拷贝本地文件到rsync服务器$ J- V4 E2 t4 @2 I2 X" A9 K
rsync -av /path/to/dirB/ user@remoteip::www / Y% |9 N7 c2 A8 y7 M2 B( r
1.5.8 rsync 使用非默认端口传输+ |* F \& M1 `, J! V8 E
rsync -avz -e "ssh -p $port"/path/to/dirA/ user@remoteip:/path/to/dirB/4 K" T4 Y7 ]$ p/ w
1.5.9 显示备份进度5 c# |2 }3 w. h. E# N2 D
可以使用 --progress或者P 选项来显示进度8 i/ F, a6 G- r2 B9 O3 m& K6 j
. ? N2 i8 A/ J/ F! g8 X W
rsync -avzhe ssh --progress /path/to/dirA/ root@remoteip:/path/to/dirB/ |
|