rsync简单使用

楔子

《[图灵程序设计丛书].Linux Shell脚本攻略.第3版》学习 rsync。做个学习笔记

7.8 使用rsync备份系统快照

数据涉及远程数据的备份,rsync可以在最小化数据传输同时,同步不同位置上的文件和目录。相较与cp命令,rsync的优势在于比较文件修改日期,仅复制较新的文件。另外,他还支持远程数据传输以及压缩加密。

7.8.1

7.8.1.1 将源目录复制到目的路径
rsync -av source_path destination_path
eg:
rsync -av azkaban root@192.168.226.112:/root
  • -a表示进行递归操作
  • -v(verbose):表示在stdout上打印出细节或进度

上述命令会以递归的方式将所有文件从源路径复制到目的路径。源路径和目的路径既可以是远程路径,也可以是本地路径

7.8.1.2 数据备份到远程服务器主机
 rsync -av source_dir username@host:PATH

要保持两端的数据同步,需要定期运行同样的rsync命名,它只会复制更改过的文件

7.8.1.3 将远程主机上的数据恢复到本地
rsync -av username@host:PATH destination

rsync命令用SSH连接远程主机,因此必须使用user@host 这种形式设定远程主机的地址,其中user代表用户名,host代表远程主机的ip或者主机名,而path指定了远程主机中待复制数据所在路径。

7.8.1.4 压缩数据

通过网络传输数据时,压缩数据能够明显改善传输效率。可以使用-z 指定在传输时压缩数据。

rsync -avz source destination
7.8.1.5 同步注意
rsync -av /home/test/ /home/backups
rsync -av /home/test /home/backups
第一个命令 将源目录(/home/test)中的内容,不包括目录本身复制到了 /home/backups 目录中
这条命令将包括源目录本身(/home/test)在内的内容复制到新的backups目录中
> 就路径格式而言,如果我们在源路径末尾使用 / ,那么 rsync 会将 sourch_path 中结尾目录内所有内容复制到目的地 > > 如果没有在源路径末尾使用 / , rsync 会将 sourch_path 中的结尾目录本身 也复制过去 > > 选项-r强制 rsync以递归方式复制目录中的所有的内容

7.8.3 补充内容

rsync命令还提供了一些其他功能选项

7.8.3.1 使用rsync进行递归是排除部分文件

选项 --exclude 和 --exclude-from 可以指定不需要传输的文件

eg:

# 排除md文件
rsync -avz  azkaban centos7:/root --exclude "*.md"

# 通过一个列表文件指定需要排除的文件
rsync -avz  azkaban centos7:/root --exclude-from=./exclude.txt 


[root@had0 ~]# more exclude.txt 
*.md
*.bat

7.8.3.2 在更新rsync备份是,删除不存在的文件

默认情况下,rsync并不会删除目的端那些在源端不存在的文件。如果要删除这类文件,可以使用rsync的–delete选项

rsync -avz SOURCE DESTINATION --delete
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值