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

楼主 |
发表于 2024-5-23 13:57:26
|
显示全部楼层
1.5.0 同步时删除多余文件0 ?/ n7 K7 n0 m& d: }) V9 `: B9 v* E6 O
在服务器A上同步/opt/work目录到远程服务器B的/tmp/work目录下同时删除B服务器/work/jira/data/目录下相比于A服务器/tmp/work中多余的文件,最近在处理策划资源文件的时候需要将目录A的文件全部同步到目录B的文件,并且把目录B内多余的文件全部删除掉。所以,就想到了使用rsync的--delete参数来实现功能) B' p; K' b! A j# q3 i: _7 B3 a. T
- @% c; l/ u1 ~) a: \1)A服务器
% X. W! F- Y( |+ m; D6 V0 Y[root@serverA ~]# cd /tmp/work
. ~2 `, m6 F/ x[root@serverA work]# ls
( P: }0 Z' Y+ I+ Aa b c d 11
3 C3 q. P, ]* Z+ D+ d. E9 o6 P0 M3 P7 e4 Y1 W/ y
2)B服务器1 U' v+ D7 ]3 n9 p- j* i
[root@serverB ~]# cd /tmp/work1 D1 x5 X$ q/ B& E
[root@serverB work]# ls5 f+ H f( B9 Q0 _: D
c d 11 12 13 fg 5t# x3 b4 Q0 B6 c) E9 v4 t
0 U0 a/ K& \; v% a" ^/ G3)从A服务器同步到B服务器(假设B服务器ip是192.168.130.11)% w& w' H& e& `
[root@serverA work]#rsync -avzP --delete rsync -avzhP --delete itadmin@192.168.130.11:/opt/data/ /work/jira/data/ #注意,--delete参数要放在源目录和目标目录前,并且两个目录结构一定要一致!不能使用./*
4 H1 ]4 [" M$ o9 y3 g1 W# \sending incremental file list
5 g3 M8 a. }4 _. D+ e: B0 S8 U) `./; h" x+ z! G$ U y/ _
deleting fg
' u. f) n* m+ O% a* e" X& Udeleting 5t
+ G& k" X$ o( R! c6 [' l$ P; sdeleting 13
) A; P: L5 `: ?* I! a. }& edeleting 127 ]0 @$ ?$ C: s- O
11
- t& j# [$ G4 K, u% Ga1 T/ u- E$ L% c* M! W2 q2 z
b
5 I* B& n/ b6 f1 Y7 Oc2 c8 L7 C) M; R0 q- W; v+ n" E
d, }* j; P) M; s6 V1 a! X3 I) X
1.5.1 保留同步文件权限、属主、属组等信息
' F) q9 C! v/ Q" j4 o4 ^6 ~0 ^rsync -avz /path/to/dirA/ /path/to/dirB/
1 ~, ^# E& }5 a5 K2 q1.5.2 不同步一些文件和目录
9 B* P% s( a% ^1 a5 B2 I. G1 G8 a3 B4 Y6 o% v
rsync -avz --exclude="fileA1.txt" --exclude="/path/to/dirA/test/" /path/to/dirA/ /path/to/dirB/
) ^4 W; g h/ _: ?# Jrsync -avz --exclude 'fileA1.txt' --exclude '/path/to/dirA/test/' /path/to/dirA/ /path/to/dirB/. O- Z$ s7 m- Y: {1 e
1.5.3 拷贝本地文件
W, j+ ?( S k0 Brsync -ahvz backup.tar.gz dirA/ # DESC 不存在时自动创建; Z3 _$ O5 |' c3 ^& G
rsync -ahvz backup.tar.gz /path/to/dirA/ /path/to/dirB/3 R7 N% Z$ N6 ?1 g* H, P
1.5.4 shell拷贝到远程(推送)
; v# U- s2 R: k( k$ s% K9 vrsync -avz /path/to/dirA/ user@remoteip:/path/to/dirB/
2 E% w: q5 V. G" t1.5.5 shell拷贝到本地(拉取)
) |' m8 I u4 u2 B+ Hrsync -avz user@remoteip:/path/to/dirA/ /path/to/dirB// S* E0 ^# T3 x9 P' I& E5 n
1.5.6 远程rsync服务器拷贝到本地
$ X, {/ E6 m0 ?/ c! g$ V& Yrsync -av user@remoteip::www /path/to/dirB/ #www为rsync模块命令. H" Z- Z: L3 C, f- d* X
1.5.7 拷贝本地文件到rsync服务器
& M9 M7 }# x4 K& brsync -av /path/to/dirB/ user@remoteip::www 1 X1 t7 L' R) G% h9 Y
1.5.8 rsync 使用非默认端口传输, a& o7 R1 n( q. ?$ ]0 V; z3 c
rsync -avz -e "ssh -p $port"/path/to/dirA/ user@remoteip:/path/to/dirB/
! X- C6 x, t( ]1.5.9 显示备份进度
- K7 R' ?: X" z. F7 s$ ^0 {' p1 f* J0 G可以使用 --progress或者P 选项来显示进度# S3 t' [' A: @4 k3 v5 W
G6 K8 z: C- e5 f6 wrsync -avzhe ssh --progress /path/to/dirA/ root@remoteip:/path/to/dirB/ |
|