部署远程同步服务Rsync
时间:2006-10-26 来源:hjfhjfhjf
注:原文引自http://sery.blog.ccidnet.com/blog/ccid/do_showone/tid_32914.html,里面根据我的总结做了一点修改。
部署远程同步服务Rsync
Rsync是一个广受好评的 linux/unix远程备份工具,而且相对与其他备份工具来说,rsync占用的资源较少。
环境的构成:rsync是基于服务器/客户端(C/S)的模式,因此一个完整的rsync服务应该由客户端和服务器端来组成。按照习惯,我们把要备份的这端叫客户端(rsync client),接受备份的那端叫服务器端(rsync).
安装rsync
1、 下载二进制源码rsync-2.6.7.tar.gz。服务器和客户端都用这个程序。
2、 解压解包 # tar zxvf rsync-2.6.7.tar.gz
3、 配置 # cd rsync-2.6.7 ; ./configure
4、 编译安装 # make ; make install
5、 把上述步骤在客户端和服务器端各执行一遍。
可用rpm包直接安装。 配置rsync:主要的配置工作发生在服务器这端。
1、服务器的配置:安装完rsync以后,并没有在/etc目录生成配置文件/etc/rsyncd.conf,手动创建。这个配置文件对整个rsync服务是至关重要的,需要慎重编写。下面是我的服务器的rsyncd.conf例子,可以参照:
[client1] //第一行是模块的名字,必须有这行,可每个需要备份的机器写一个模块,如client2,client3等等。
path = /backup/client1 //提供给客户端备份的场所(目录),要考虑大一点的空间
uid = nobody
gid = nobody
use chroot = no
auth users = sery //验证用户,没有这行表示匿名,安全起见请加上这行
secrets file = /etc/sery.pass //验证密码所在的文件
read only = no //可以有写权限,如果只读怎么备份
log file = /var/log/rsync.log //记录日志
接着创建文件/etc/sery.pass,在这个文件里添加 <username>:<password>这样的行。比如sery:hswuhswu3,保存文件,然后修改其属性 # chmod 600 /root/sery.pass。 创建目录 # mkdir /backup/client1
给予用户的写权限。因为rsync使用的用户帐号不是系统帐号,因此要把/backup/client1的权限设置为777。由于/backup/client1目录开放了所有的权限,这是不安全的,因此一定要限制远程主机的访问权限。
可用iptables来做来源主机对rsync端口访问的限制。
2、rsync服务的启动。执行命令 # rsync –daemon –config=/etc/rsyncd.conf &.在这里指定了配置文件的位置。如果启用了防火墙,请允许873通过。
vi /etc/rc.d/rc.local 在里面添加上面这一行,让机器重启后服务自动启动。
3、客户端的配置。只要建立验证文件/etc/sery.pass,只要写服务器端的用户名的密码就行了,不要写用户名,并给予600的文件属性。
4、开始备份。在客户端执行 # rsync –vzrtopg --password-file=/etc/sery.pass <要备份的目录或分区> <username-在服务器的rsyncd.conf中定义的哪个>@<rsync服务器的IP>::<模块名-在服务器的rsyncd.conf里的方括弧里的哪个词> --delete 就可以了。关于rsync后面的参数,可以通过rsync –help来了解。
如:
rsync -vzrtopg --password-file=/etc/rsyncd.secrets /etc [email protected]::client1 --delete
把客户机上的/etc目录备份到server上的client1模块里规定的目录中,用户名是hello1,密码在/etc/rsyncd.secrets中,可把这句话用crontab -e 来自动备份。
1、 下载二进制源码rsync-2.6.7.tar.gz。服务器和客户端都用这个程序。
2、 解压解包 # tar zxvf rsync-2.6.7.tar.gz
3、 配置 # cd rsync-2.6.7 ; ./configure
4、 编译安装 # make ; make install
5、 把上述步骤在客户端和服务器端各执行一遍。
可用rpm包直接安装。 配置rsync:主要的配置工作发生在服务器这端。
1、服务器的配置:安装完rsync以后,并没有在/etc目录生成配置文件/etc/rsyncd.conf,手动创建。这个配置文件对整个rsync服务是至关重要的,需要慎重编写。下面是我的服务器的rsyncd.conf例子,可以参照:
[client1] //第一行是模块的名字,必须有这行,可每个需要备份的机器写一个模块,如client2,client3等等。
path = /backup/client1 //提供给客户端备份的场所(目录),要考虑大一点的空间
uid = nobody
gid = nobody
use chroot = no
auth users = sery //验证用户,没有这行表示匿名,安全起见请加上这行
secrets file = /etc/sery.pass //验证密码所在的文件
read only = no //可以有写权限,如果只读怎么备份
log file = /var/log/rsync.log //记录日志
接着创建文件/etc/sery.pass,在这个文件里添加 <username>:<password>这样的行。比如sery:hswuhswu3,保存文件,然后修改其属性 # chmod 600 /root/sery.pass。 创建目录 # mkdir /backup/client1
给予用户的写权限。因为rsync使用的用户帐号不是系统帐号,因此要把/backup/client1的权限设置为777。由于/backup/client1目录开放了所有的权限,这是不安全的,因此一定要限制远程主机的访问权限。
可用iptables来做来源主机对rsync端口访问的限制。
2、rsync服务的启动。执行命令 # rsync –daemon –config=/etc/rsyncd.conf &.在这里指定了配置文件的位置。如果启用了防火墙,请允许873通过。
vi /etc/rc.d/rc.local 在里面添加上面这一行,让机器重启后服务自动启动。
3、客户端的配置。只要建立验证文件/etc/sery.pass,只要写服务器端的用户名的密码就行了,不要写用户名,并给予600的文件属性。
4、开始备份。在客户端执行 # rsync –vzrtopg --password-file=/etc/sery.pass <要备份的目录或分区> <username-在服务器的rsyncd.conf中定义的哪个>@<rsync服务器的IP>::<模块名-在服务器的rsyncd.conf里的方括弧里的哪个词> --delete 就可以了。关于rsync后面的参数,可以通过rsync –help来了解。
如:
rsync -vzrtopg --password-file=/etc/rsyncd.secrets /etc [email protected]::client1 --delete
把客户机上的/etc目录备份到server上的client1模块里规定的目录中,用户名是hello1,密码在/etc/rsyncd.secrets中,可把这句话用crontab -e 来自动备份。
相关阅读 更多 +