1、什么是rsync
rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用“rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
rsync 包括如下的一些特性:
能更新整个目录和树和文件系统;
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
对于安装来说,无任何特殊权限要求;
对于多个文件来说,内部流水线减少文件等待的延时;
能用rsh、ssh 或直接端口做为传输入端口;
支持匿名rsync 同步文件,是理想的镜像工具;
2、rsync的安装,通用方式:yum install rsync
3、rsync服务器的配置文件
-
cat /etc/rsyncd/rsync.conf
-
# Distributed under the terms of the GNU General Public License v2
-
# Minimal configuration file for rsync daemon
-
# See rsync(1) and rsyncd.conf(5) man pages for help
-
# This line is required by the /etc/init.d/rsyncd script
-
-
pid file = /var/run/rsync.pid
-
port = 873
-
#address = 192.168.1.171
-
#uid = nobody
-
#gid = nobody
-
uid = root
-
gid = root
-
use chroot = yes
-
read only = no
-
-
#limit access to private LANs
-
hosts allow=*
-
#hosts deny=*
-
max connections = 5
-
motd file = /etc/rsyncd/rsync.motd
-
-
#This will give you a separate log file
-
#log file = /var/log/rsync.log
-
#This will log every file transferred - up to 85,000+ per user, per sync
-
#transfer logging = yes
-
-
log format = %t %a %m %f %b
-
syslog facility = local3
-
timeout = 300
-
-
[data]
-
path = /data1
-
list=yes
-
ignore errors
-
auth users = root
-
secrets file = /etc/rsyncd/rsync.secrets
-
comment = rsync data1 dir
-
#exclude = beinan/ samba/
-
-
[garbagekrc]
-
path = /data1/garbagekrc
-
list=yes
-
ignore errors
-
auth users = root
-
secrets file = /etc/rsyncd/rsync.secrets
-
comment = rsync garbagekrc dir
用户密码文件:
-
cat /etc/rsyncd/rsync.secrets
-
root:test123
其中用户名必须是服务器上已经存在的用户
4、启动rsync服务:/usr/bin/rsync --daemon --config=/etc/rsyncd/rsync.conf
5、备份文件到服务器:
rsync -az --password-file=rsync.password jsoncpp/* root@IP::data/mydata/
其中:password-file可以指定密码。
6、rsync也可以从服务器上拉文件到本地。结合crontab可以实现定时同步的功能。
7、更多用法请:man rsync。
(责任编辑:IT) |