Rsync(remote synchronize) 是一个远程数据同步工具,可以使用“ Rsync 算法”同步本地和远程主机之间的文件。Rsync 的好处是只同步两个文件不同的部分,相同的部分不在传递。类似于增量备份,这使的在服务器传递备份文件或者同步文件,比起 scp 工具要省好多时间。

服务器端

ubuntu 系统默认已经安装了 rsync,rsync 服务默认不是启动的

1
2
vim /etc/default/rsync  
RSYNC_ENABLE=true   #false改true

修改配置文件

1
cp /usr/share/doc/rsync/examples/rsyncd.conf /etc

配置文件注意项,模块配置,需要同步的 server 端模块名称(必填),

1
2
3
4
5
6
# MODULE OPTIONS

path [指定路径,如果没有这个目录自己建]
auth users [rsyn c连接时的用户名,要和客户端 rsync 的命令一致]
secrets file [这里是保存密码的地方,如果屏蔽掉就不用密码了]
hosts allow [允许某个客户端同步文件的ip]

创建密钥文件

1
2
3
4
5
vim /etc/rsyncd.secrets  

your_name:your_pass

chmod 0600 /etc/rsyncd.secrets

启动 rsync

1
/etc/init.d/rsync start

客户端

快速同步服务器端数据文件命令

1
rsync -vzrtopg --progress  your_name@your_server_ip::module_name .

将远程服务器的文件同步到本地 [端口如果不是默认22端口的情况2]

1
2
3
rsync -avz your_ssh_name@your_ssh_ip:remote_path local_path  

rsync -avz '-e ssh -p your_ssh_port' ssh_name@ssh_ip:remote_path local_path

从本地同步文件到远程服务器

1
rsync -avz local_path your_ssh_name@your_ssh_ip:remote_path

快捷跳转 Linux 命令速查,趁有时间总结一波 rsync,服务器数据增量备份

或许短暂的积累就是能在未来的某一天派上用场,厚积薄发,实际应用中经常使用的才能记得更牢靠。