数据备份,是维护数据安全的重要组成部分。有感于最近实验室里出现的硬盘报废现象,实在担心数据的安全性,所以决定利用实验室的几台高级服务器开始陆续要备份我本机的数据资源。这里,我选择了rsync,这是gentoo维护portage的方法,被我大材小用,用来实现我的需求。不过事后看来,在无须频繁更新,或者更新目录规则不是很复杂的情况下,其实用ftp+wget会更快一点吧。姑且不论这个:),让我们看看rsync的配置方法。
我选择的工作模式是:服务器端开rsync服务,客户端通过rsync服务从服务器端读取数据并备份。需要指出,rsync很灵活,这只是其支持的8种方式之一。
服务器和客户端都安装rsync程序
emerge rsync
服务器端配置
1. 配置/etc/rsync/rsyncd.conf,例如
pid file = /var/run/rsyncd.pid #设定pid文件
log file = /var/log/rsyncd.log #设定log文件
lock file = /var/run/rsync.lock #设定rsync锁文件
hosts allow = 166.111.207.74 #设定允许访问的地方
hosts deny = * #类似ACL,最后要拒绝所有其它访问比较安全
max connections = 3 #设定最大连接数
read only = true #设定只读
secrets file = /etc/rsync/rsyncd.scrt #设定用户密码文件位置
[heinz] #模块名称
path = /home/heinz #路径名称
comment = heinz's home rsync server #注释
uid = heinz #设定以指定用户权限读写文件
gid = wheel #设定以指定组权限读写文件
auth users = backup #用户认证,允许backup用户访问
list = yes #模块非隐藏,可显示
2. 编辑指定的用户-密码文件,例如,这里是/etc/rsync/rsyncd.scrt
backup:backup
用户名和密码都是backup,用冒号分隔。需要注意,默认情况下,rsync服务器启动时要检查该文件的权限,请确保该文件输入root,且只有root有读写权限。
3. 编辑/etc/rsync/rsyncd,增加参数设定,例如
RSYNC_OPTS="--safe-links --timeout 60" #设置超时,并且不拷贝联接的实际文件
4. 启动rsync服务器:
/etc/init.d/rsyncd start
5. 加入启动脚本
rc-update add rsyncd default
客户端具体备份方法:
1. 显示rsync服务器可列模块
rsync 166.111.207.107::
2. 备份数据
rsync -avz --delete rsync://backup@166.111.207.107/heinz local_dst_path/
当然在增加rsync服务器写权限后,我们也可以反过来用本地路径作源,rsync地址作目标。这里a表示archive mode,z表示传输时进行压缩(慎用,备份会比较慢),v是显示细节,--delete表示允许删除(不存在了的文档)
其它:
1. 使用crontab定时备份,sudo "crontab -e" 并添加crontab脚本
2. 使用rsync进行增量备份:可参考 或使用rsnapshot软件。
阅读(1352) | 评论(0) | 转发(0) |