您的位置:首页 > 其它

rsync 服务器文件同步备份

2009-06-11 15:22 375 查看

rsync 服务器文件同步备份

[align=left]一、安装rsync服务器[/align]
[align=left]下载地址:http://samba.anu.edu.au/ftp/rsync/[/align]
[align=left] [/align]
[align=left]服务器 192.168.1.11[/align]

wget http://samba.anu.edu.au/ftp/rsync/rsync-3.0.6.tar.gz
tar zxvf rsync-3.0.6.tar.gz
cd rsync-3.0.6
./configure --prefix=/usr/local/rsync
make && make install

配置
vi /etc/rsyncd.conf

uid = nobody
gid = nogroub
use chroot = no
max connections = 4 #最大连接
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log #日志

[web]
path = /data/appweb/ #要备份文件路径
ignore errors
read only = true
list = false
hosts allow = 192.168.1.12 #充许的IP连接
hosts deny = 0.0.0.0/32 #拒绝的IP
auth users = rsyncuser #认证用户 要与/etc/rsyncuser.pas中的用户相同
secrets file = /etc/rsyncuser.pas #密码存放路径

说明:
ignore errors
指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IP错误,一般来说rsync在出现IO错误时将将跳过--delete操作,以防止因为暂时的资源不足或其它IO错误导致的严重问题。

read only
该选项设定是否允许客户上载文件。如果为true那么任何上载请求都会失败,如果为false并且服务器目录读写权限允许那么上载是允许的。默认值为true。

list
该选项设定当客户请求可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为false,可以创建隐藏的模块。默认值是true。

vi /etc/rsyncuser.pas

rsyncuser:rsyncpass 用户名、密码

权限

chmod 600 /etc/rsyncd.conf
chmod 600 /etc/rsyncuser.pas

启动
#/usr/local/rsync/bin/rsync --daemon
#ps aux|grep rsync #查看是否已经启动

自启动

vi /etc/rc.local
/usr/bin/rsync --daemon # 以守护进程启动

二、客户端 192.168.1.12

系统默认就安装了rsync
如果没有安装,请使用 yum install rsync进行安装

vi /etc/rsyncuser.pas

rsyncpass #密码

客户端运行脚本
vi webback.sh

rsync -vzrtopg --progress --delete --password-file=/etc/rsyncuser.pas rsyncuser@192.168.1.11::web /data2/webback
权限
chmod 600 /etc/rsyncuser.pas
chmod +x webback.sh
说明:
-v, --verbose 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理
-r, --recursive 对子目录以递归模式处理
-t, --times 保持文件时间信息
-o, --owner 保持文件属主信息
-p, --perms 保持文件权限
-g, --group 保持文件属组信息

--progress 显示备份过程
--delete 删除那些DST中SRC没有的文件
--password-file=FILE 从FILE中得到密码
更多参数详见:http://blog.s135.com/post/259/

同步文件前,有时为了方便,可以先使用cp把文件复制到备份目录,然后在使用rsync进行同步.

注意:使用cp 从时.一定要带参数 -p


cp -rfp /data1/fs /data2/fs-bak

-p 参数是连接文件属性一起拷贝,这样可以保持文件时间与原来一致

在使用rsync 同步,这样就可以不用在从新复制已有的文件


rsync -vzrtopg --progress /data1/fs /data2/fs-bak
验证文件是否成功备份

为了验证文件是否成功备份,可以从以下几个方面来验证.

1、 对比文件目录数。
2、 对比文件数。
方法:tree /data/nfs1 | tail -1
1130 directories, 6273 files
3、 对比文件占用空间大小。
方法: du –sh /data/nfs1
1.3G /data/nfs1
4、可以使用diff -r 对目录递归结比
方法:diff -r /data/nfs1 /data/nfs-bak
如果什么都没出现,说明二个目录文件是相同的,如果出现文件条目,说明二个文件目录存在不同文件。

计划任务

每天凌晨0\2点执行备份计划

crontab -e
0 2 * * * /data/bak/webback.sh > /var/log/webback.log 2>&1本文出自 “网海过客” 博客,请务必保留此出处http://cqfish.blog.51cto.com/622299/165931
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: