介绍
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
常用场景
无密码同步
服务端配置文件:vim /etc/rsyncd.conf
#This is the rsync daemon configuration
#global settings
pid file = /var/run/rsyncd.pid
port = 873
lock file = /var/run/rsyncd.lock
log file = /var/log/rsync.log
gid = root
uid = root
#module settings
[share_data]
path = /web/rsync/share_data
use chroot = no
max connections = 15
read only = yes
write only = no
list = no
ignore errors = yes
timeout = 120
服务器端执行命令
/usr/bin/rsync --daemon
mkdir -p /web/rsync/share_data
客户端
rsync -avz --progressroot@192.168.1.98::share_data /home/hadoop/share_data
限制流量同步
rsync -avz --bwlimit=50 --progressroot@192.168.1.98::share_data /home/hadoop/share_data
有密码同步
服务端配置文件
vim /etc/rsyncd.conf
#This is the rsync daemon configuration
#global settings
pid file = /var/run/rsyncd.pid
port = 873
lock file = /var/run/rsyncd.lock
log file = /var/log/rsync.log
gid = root
uid = root
#module settings
[auth_data]
path = /web/rsync/auth_data
use chroot = no
max connections = 15
read only = yes
write only = no
list = no
ignore errors = yes
timeout = 120
auth users = hadoop
secrets file = /etc/rsyncd.passwd
服务器端执行命令
echo "hadoop:password123" >/etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd
mkdir -p /web/rsync/auth_data
客户端
echo "password123" >/home/hadoop/rsyncd.passwd
chmod 600 /home/hadoop/rsyncd.passwd
rsync -avz --progress --password-file=/home/hadoop/rsyncd.passwd hadoop@192.168.1.98::auth_data/home/hadoop/auth_data
或者是
exportRSYNC_PASSWORD="password123"
rsync -avz --progresshadoop@192.168.1.98::auth_data /home/hadoop/auth_data
写入同步
服务端配置文件
vim /etc/rsyncd.conf
#global settings
pid file = /var/run/rsyncd.pid
port = 873
lock file = /var/run/rsyncd.lock
log file = /var/log/rsync.log
gid = root
uid = root
#module settings
[write_data]
path = /web/rsync/write_data
use chroot = no
max connections = 15
read only = no
list = no
ignore errors = yes
timeout = 120
auth users = hadoop
secrets file = /etc/rsyncd.passwd
服务器端执行命令
mkdir -p /web/rsync/write_data
客户端
echo "123" >/home/hadoop/write_file
exportRSYNC_PASSWORD="password123"
rsync -avz --progress --delete/home/hadoop/write_file hadoop@192.168.1.98::write_data
限定IP或者网段
#global settings
pid file = /var/run/rsyncd.pid
port = 873
lock file = /var/run/rsyncd.lock
log file = /var/log/rsync.log
gid = root
uid = root
#module settings
[write_data]
path = /web/rsync/write_data
use chroot = no
max connections = 15
read only = no
list = no
ignore errors = yes
timeout = 120
auth users = hadoop
secrets file = /etc/rsyncd.passwd
hosts allow = 192.168.2.32 192.168.1.0/24
文章来源
http://www.cnblogs.com/ggjucheng/p/5474038.html