Linux基础学习-数据备份工具Rsync

时间:2022-09-14 08:18:53

数据备份工具rsync

作为一个系统管理员,数据备份是非常重要的,如果没有做好备份策略,磁盘损坏了,那么你的数据将全部丢失,所以在日常的维护工作中,一定要时刻牢记给数据做备份.

rsync不仅可以可以远程同步数据(类似于scp),而且可以本地同步数据(类似于cp),但不同于scp cp的一点是,它不会覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖.如果Linux没有rsync命令可以通过yum install rsync -y安装.

常用选项 解释
-a 这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-rlptgoD.他后面可以跟一个--no-OPTION,表示关闭-rlptgoD中的某一个,比如-a--no-l等同于-rptgoD.
-r 表示以递归模式处理子目录,它主要是针对目录来说的.
-v 表示打印一些信息,比如文件列表,文件数量
-l 表示保留软链接
-L 表示保持软链接,加上该参数后软链接指向的目标文件一起复制到目标中.
-p 表示标尺文件权限
-o 表示保持文件的属主信息
-g 表示保持文件的属组信息
-D 表示保持设备文件信息
-t 表示保持稳健时间信息
--delete 表示删除DST中SRC没有的文件
--excluede=PATTERN 表示指定排除不需要传输的文件
-u 表示把DST中比SRC还新的文件排除掉,不会覆盖
-z 加上此参数,将会在传输过程中压缩
//直接拷贝

[root@backup ~]# rsync /etc/hosts /mnt

[root@backup ~]# rsync -vzrtopg /etc/hosts /mnt/
sending incremental file list
hosts

sent 184 bytes  received 31 bytes  430.00 bytes/sec
total size is 294  speedup is 1.37

//本地有的远端就有(即使远端没有我给你),本地没有远端有的也要没有

[root@backup ~]# rsync -avz --delete /test /mnt/

//远程拷贝

[root@backup ~]# rsync -avz /etc/hosts -e 'ssh -p 22' root@192.168.56.31:/mnt/
root@192.168.56.31's password: 
sending incremental file list
hosts

sent 184 bytes  received 31 bytes  47.78 bytes/sec
total size is 294  speedup is 1.37
uid = rsync //用户 远端的命令使用rsync访问共享目录
gid = rsync //用户组
use chroot = no //安全相关
max connections = 200 //最大连接数
timeout = 300 //超时时间
pid file = /var/run/rsyncd.pid //进程对应的进程号文件
lock file = /var/run/rsync.lock //锁文件
log file = /var/log/rsyncd.log //日志文件
[backup] //模块名称
path = /backup //服务器端提供访问的目录
ignore errors //忽略错误
read only = false //可写
list = false //不能列表
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password

vim /etc/rsync.password
rsync_backup:123456
chmod 600 /etc/rsync.password

[root@backup ~]# lsof -i :873