本文共 2560 字,大约阅读时间需要 8 分钟。
rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具。它支持unix/linux/windows等多种操作系统平台,功能强大且效率高。
通过crond + rsync实现定时备份。
结合inotify(sersync)+ rsync实现实时备份。
-avz:多参数集合-v:详细模式,输出传输进度等信息-z:压缩传输数据,提高效率-a:归档模式,递归传输并保留文件属性-r:递归子目录-t:保持文件时间信息-o:保留文件属主信息-p:保留文件权限-g:保留文件属组信息-D:保留设备文件信息-l:保留软链接-e:指定传输协议,例如ssh-exclude:排除指定文件或目录-bwlimit:限速传输-delete:删除目标目录中不在源目录中的文件将本地文件或目录从一个目录移动到另一个目录中,类似于系统命令。
将本地文件或目录传输到远程服务器,类似于scp命令。
rsync服务器模式,安装并运行rsync服务进程,其他客户端通过命令上传文件。
| 节点名 | IP | 软件版本 | 硬件 | 网络 | 说明 |
|---|---|---|---|---|---|
| server | 39.108.140.0 | rsync-3.1.2 | 1C2G | 阿里云 | 测试环境 |
| client | 47.95.119.205 | rsync-3.1.2 | 1C2G | 阿里云 | 测试环境 |
[root@server data]# yum -y install rsync[root@server data]# rpm -qa | grep rsync
/etc/rsyncd.conf:cat rsyncd.confuid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log[backup]path = /dataignore errorsreadonly = falselist = falsehosts allow = 47.95.119.205,172.25.1.0/24hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password
[root@server data]# useradd rsync -s /sbin/nologin -M[root@server data]# tail -1 /etc/passwd
[root@server data]# mkdir /data/ -p[root@server data]# chown rsync:rsync /data/
[root@server data]# echo "rsync_backup:youmen" > /etc/rsync.password[root@server data]# chmod 600 /etc/rsync.password
[root@server data]# echo '/usr/bin/rsync --daemon' >> /etc/rc.local[root@server data]# tail -1 /etc/rc.local
[root@client data]# echo "youmen" > /etc/rsync.password[root@client data]# chmod 600 /etc/rsync.password
[root@server data]# rsync --daemon[root@server data]# ss -atnlp | grep 873
[root@client ~]# rsync -auv --password-file=/etc/rsync.password rsync_backup@39.108.140.0::backup /data
####上传数据测试
[root@client data]# rsync -avz --delete /data/ rsync_backup@39.108.140.0::backup --password-file=/etc/rsync.password
[root@client data]# rsync -avz /data/test -e 'ssh -p 22' --bwlimit=1
转载地址:http://ksabz.baihongyu.com/