rsync配置和使用
2010-07-25 18:52
267 查看
:
ubuntu
缺省安装的安装中,
rsync
服务是没有开启的。需要做
3
步:
1
、修改
/etc/default/rsync
,让
rsync
服务在开机的时候启动。
$ sudo vi /etc/default/rsync
将
RSYNC_ENABLE=false
改为
RSYNC_ENABLE=true
2
、创建一个
rsyncd.conf
,缺省安装中是没有这个文件的。
$ sudo vi /etc/rsyncd.conf
输入以下几行:
uid=nobody
gid=nobody
max connections=3
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsync.pwd
3
、启动
rsync
服务。
$ /etc/init.d/rsync start
基本命令:
rsync -avz ./libserver1.0.1 cxf@202.117.15.144:/home/cxf/backup
目录上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver ./backup
目录下载
rsync -avz ./libserver1.0.1./* cxf@202.117.15.144:/home/cxf/backup
文件上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver/* ./backup
文件下载
一、通过
rsh
或
ssh
命令
在没有建立
rsync
服务器的情况下,我们可以利用
rsync
命令直接进行快速的差异备份:
CODE:
命令格式:
#rsync [option]
源路径
目标路径
其中:
[option]
:
a:
使用
archive
模式,等于
-rlptgoD
,即保持原有的文件权限
z:
表示传输时压缩数据
v:
显示到屏幕中
e:
使用远程
shell
程序(可以使用
rsh
或
ssh
)
--delete:
精确保存副本,源主机删除的文件,目标主机也会同步删除
--include=PATTERN:
不排除符合
PATTERN
的文件或目录
--exclude=PATTERN:
排除所有符合
PATTERN
的文件或目录
--password-file:
指定用于
rsync
服务器的用户验证密码
源路径和目标路径可以使用如下格式:
rsync://[USER@]Host[:Port]/Path <--rsync
服务器路径
[USER@]Host::Path <--rsync
服务器的另一种表示形式
[USER@]Host:Path <--
远程路径
LocalPath <--
本地路径
※
需要注意的是,来源或目的路径最少要有一个是本地路径,如果忽略本地路径,则只会列出远端的文件列表。
例子:
CODE:
#rsync -ave ssh test:/home/ftp/pub/ /home/ftp/pub/
把源路径中远端
test
机器上的
/home/ftp/pub/
目录中的内容,通过
rsync
同步到本地的
/home/ftp/pub/
目录下。
◎
小心源路径结尾时候的
/
号,后缀
/
通知
rsync
复制该目录的内容,但不复制目录本身。例如:
CODE:
#rsync -ave ssh test:/home/ftp/pub /home/ftp/
则会把
pub
目录整个同步到本地
/home/ftp/
路径中
CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/blog /var/www/html/
通过
linuxing
登陆到
192.168.1.100
中,同步
rsync
服务器的
blog
项到本地的
/var/www/html/
,并删除本地上源路径中不存在的文件或目录。
※
千万要注意
--delete
参数,在使用此参数的时候,建议用绝对路径指定本地目录,防止清空当前目录。
二、建立
rsync
服务器
当服务器没有开通
ssh
,或备份方没有
ssh
权限的时候,我们可以通过建立
rsync
服务器,进行匿名的数据同步。
要使用
rsync
服务,需要建立服务端和客户端:
1
、服务端
主配置文件:
CODE:
#vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test] #rsync
区段的设定名称
path = /var/www/html/test #
需要同步的数据存放路径
comment = test folder #
注释
uid = apache #
采用什么身份进行文件读取
gid = apache #
同上,必须是有读取
path
权限的用户、组
ignore errors #
忽略错误
read only = yes #
只读
list = no #
不能列表
auth users = linuxing #
连接
rsync
服务的帐号
secrets file = /etc/rsyncd.secrets #
指定存放帐号密码的位置
帐号密码文件:
CODE:
#vi /etc/rsyncd.secrets
#
格式:帐号
:
密码
(每行一组,帐号和密码用
:
号分开)
linuxing:backup
保存后,需要保证用户是
root
,权限是
600
CODE:
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets
启动服务:
#rsync --daemon
保证开机自动启动:
修改
/etc/xinetd.d/rsync
文件,把其中的
disable=yes
改为
disable=no
CODE:
#sed -i -e "/disable/{ s/yes/no/ }" /etc/xinetd.d/rsync
#service xinetd.d restart
2
、客户端
使用用法一中涉及到
rsync://
的方法即可。
如果
rsync
服务器需要密码验证,可以增加
--password-file
参数:
CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#vi /etc/test
#
指定访问密码
bakcup
#chmod 600 /etc/test
3
、定时
另外,由于
rsync
客户端没有定时功能,我们可以通过在
crontab
中增加计划任务实现定时的同步,如:(不要使用
-v
参数,防止刷屏)
CODE:
#crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#
指定星期一到五,每晚十点整进行同步
三、总结
使用
rsync
的优点:可通过
ssh
进行网络加密传输,也可以利用
ssh
客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比
tar
或
wget
等方式都要快。而且可以做到精确同步。
四、附录
如果是通过编译安装的
rsync
(如
FreeBSD
),路径有点不同:
服务器的配置文件在:
/usr/local/etc/rsyncd.conf
启动文件:
/usr/local/etc/rc.d/rsyncd.sh
命令文件:
/usr/local/bin/rsync
系统启动托管:
/etc/rc.conf
(增加
rsyncd_enable="YES"
)
http://blog.csdn.net/adcxf/archive/2009/03/10/3975119.aspx
ubuntu
缺省安装的安装中,
rsync
服务是没有开启的。需要做
3
步:
1
、修改
/etc/default/rsync
,让
rsync
服务在开机的时候启动。
$ sudo vi /etc/default/rsync
将
RSYNC_ENABLE=false
改为
RSYNC_ENABLE=true
2
、创建一个
rsyncd.conf
,缺省安装中是没有这个文件的。
$ sudo vi /etc/rsyncd.conf
输入以下几行:
uid=nobody
gid=nobody
max connections=3
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsync.pwd
3
、启动
rsync
服务。
$ /etc/init.d/rsync start
基本命令:
rsync -avz ./libserver1.0.1 cxf@202.117.15.144:/home/cxf/backup
目录上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver ./backup
目录下载
rsync -avz ./libserver1.0.1./* cxf@202.117.15.144:/home/cxf/backup
文件上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver/* ./backup
文件下载
一、通过
rsh
或
ssh
命令
在没有建立
rsync
服务器的情况下,我们可以利用
rsync
命令直接进行快速的差异备份:
CODE:
命令格式:
#rsync [option]
源路径
目标路径
其中:
[option]
:
a:
使用
archive
模式,等于
-rlptgoD
,即保持原有的文件权限
z:
表示传输时压缩数据
v:
显示到屏幕中
e:
使用远程
shell
程序(可以使用
rsh
或
ssh
)
--delete:
精确保存副本,源主机删除的文件,目标主机也会同步删除
--include=PATTERN:
不排除符合
PATTERN
的文件或目录
--exclude=PATTERN:
排除所有符合
PATTERN
的文件或目录
--password-file:
指定用于
rsync
服务器的用户验证密码
源路径和目标路径可以使用如下格式:
rsync://[USER@]Host[:Port]/Path <--rsync
服务器路径
[USER@]Host::Path <--rsync
服务器的另一种表示形式
[USER@]Host:Path <--
远程路径
LocalPath <--
本地路径
※
需要注意的是,来源或目的路径最少要有一个是本地路径,如果忽略本地路径,则只会列出远端的文件列表。
例子:
CODE:
#rsync -ave ssh test:/home/ftp/pub/ /home/ftp/pub/
把源路径中远端
test
机器上的
/home/ftp/pub/
目录中的内容,通过
rsync
同步到本地的
/home/ftp/pub/
目录下。
◎
小心源路径结尾时候的
/
号,后缀
/
通知
rsync
复制该目录的内容,但不复制目录本身。例如:
CODE:
#rsync -ave ssh test:/home/ftp/pub /home/ftp/
则会把
pub
目录整个同步到本地
/home/ftp/
路径中
CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/blog /var/www/html/
通过
linuxing
登陆到
192.168.1.100
中,同步
rsync
服务器的
blog
项到本地的
/var/www/html/
,并删除本地上源路径中不存在的文件或目录。
※
千万要注意
--delete
参数,在使用此参数的时候,建议用绝对路径指定本地目录,防止清空当前目录。
二、建立
rsync
服务器
当服务器没有开通
ssh
,或备份方没有
ssh
权限的时候,我们可以通过建立
rsync
服务器,进行匿名的数据同步。
要使用
rsync
服务,需要建立服务端和客户端:
1
、服务端
主配置文件:
CODE:
#vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test] #rsync
区段的设定名称
path = /var/www/html/test #
需要同步的数据存放路径
comment = test folder #
注释
uid = apache #
采用什么身份进行文件读取
gid = apache #
同上,必须是有读取
path
权限的用户、组
ignore errors #
忽略错误
read only = yes #
只读
list = no #
不能列表
auth users = linuxing #
连接
rsync
服务的帐号
secrets file = /etc/rsyncd.secrets #
指定存放帐号密码的位置
帐号密码文件:
CODE:
#vi /etc/rsyncd.secrets
#
格式:帐号
:
密码
(每行一组,帐号和密码用
:
号分开)
linuxing:backup
保存后,需要保证用户是
root
,权限是
600
CODE:
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets
启动服务:
#rsync --daemon
保证开机自动启动:
修改
/etc/xinetd.d/rsync
文件,把其中的
disable=yes
改为
disable=no
CODE:
#sed -i -e "/disable/{ s/yes/no/ }" /etc/xinetd.d/rsync
#service xinetd.d restart
2
、客户端
使用用法一中涉及到
rsync://
的方法即可。
如果
rsync
服务器需要密码验证,可以增加
--password-file
参数:
CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#vi /etc/test
#
指定访问密码
bakcup
#chmod 600 /etc/test
3
、定时
另外,由于
rsync
客户端没有定时功能,我们可以通过在
crontab
中增加计划任务实现定时的同步,如:(不要使用
-v
参数,防止刷屏)
CODE:
#crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#
指定星期一到五,每晚十点整进行同步
三、总结
使用
rsync
的优点:可通过
ssh
进行网络加密传输,也可以利用
ssh
客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比
tar
或
wget
等方式都要快。而且可以做到精确同步。
四、附录
如果是通过编译安装的
rsync
(如
FreeBSD
),路径有点不同:
服务器的配置文件在:
/usr/local/etc/rsyncd.conf
启动文件:
/usr/local/etc/rc.d/rsyncd.sh
命令文件:
/usr/local/bin/rsync
系统启动托管:
/etc/rc.conf
(增加
rsyncd_enable="YES"
)
http://blog.csdn.net/adcxf/archive/2009/03/10/3975119.aspx
#!/bin/bash #already install rsync if test -e /etc/default/rsync.bak then pwd else sudo cp /etc/default/rsync /etc/default/rsync.bak fi #let rsync service start with the machine sudo sed -i 's/RSYNC_ENABLE=false/RSYNC_ENABLE=true/' /etc/default/rsync #if not exist, then create a file named rsyncd.conf if test -e /etc/rsyncd.conf then sudo cp /etc/rsyncd.conf /etc/rsyncd.conf.bak else sudo touch /etc/rsyncd.conf fi sudo cat <<END >/etc/rsyncd.conf uid=nobody gid=nobody max connections=3 use chroot=no log file=/var/log/rsyncd.log pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock secrets file=/etc/rsyncd.secrets auth users=ct #the account to connect rsync END if ! test -e /etc/rsyncd.secrets then sudo touch /etc/rsyncd.secrets fi echo 'ct:550336392ctqazplm' >> /etc/rsyncd.secrets sudo chmod 600 /etc/rsyncd.secrets #start-up the rsync service sudo /etc/init.d/rsync start sudo rsync --daemon
相关文章推荐
- 使用rsync+inotify配置触发式(实时)远程同步
- rsync配置及使用
- 使用rsync同步hadoop配置
- rsync的配置与使用
- rsync使用说明#简单配置文档
- CentOS 6.3_ RSync实现文件定时备份同步配置与使用 推荐
- rsync配置及使用
- 使用rsync+inotify配置触发式(实时)远程同步
- Windows下rsync软件配置和使用【数据同步】
- Linux环境下Rsync的配置与使用
- 使用rsync+inotify配置触发式(实时)远程同步 推荐
- Rsync的配置与使用
- rsync软件配置和使用教程
- 使用rsync+inotify配置触发式(实时)远程同步
- 使用rsync+inotify配置触发式(实时)远程同步
- Windows下rsync软件配置和使用
- linux rsync服务配置使用实例
- rsync同步服务安装配置及脚本使用
- Rsync 安装配置使用教程
- rsync远程同步配置与使用