rsync服务器架设(数据同步|文件增量备份)-2

上一篇 / 下一篇  2012-03-14 17:03:25 / 个人分类:rsync

注:指定文件目录所在位置,这是必须指定的;

 
1authusers= linuxsir

注:认证用户是linuxsir ,是必须在 服务器上存在的用户;

 
1list=yes

注:list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了;

 
1ignore errors

注:忽略IO错误,详细的请查文档;

1secretsfile=/etc/rsyncd/rsyncd.secrets

注:密码存在哪个文件;

 
1comment = linuxsir home  data

注:注释可以自己定义,写什么都行,写点相关的内容就行;

1exclude =   beinan/   samba/

注:exclude 是排除的意思,也就是说,要把/home目录下的beinan和samba 排除在外; beinan/和samba/目录之间有空格分开 ;

启动rsync 服务器及防火墙的设置

启动rsync服务器
启动rsync 服务器相当简单,–daemon 是让rsync 以服务器模式运行;

1/usr/bin/rsync--daemon  --config=/etc/rsyncd/rsyncd.conf

rsync服务器和防火墙
Linux防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

1iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT

查看一下防火墙是不是打开了 873端口;

1iptables -L

通过rsync客户端来同步数据

1rsync-avzP linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

Password: 这里要输入linuxsir的密码,是服务器端提供的,在前面的例子中,我们用的是 222222,输入的密码并不显示出来;输好后就回车;
注: 这个命令的意思就是说,用linuxsir 用户登录到服务器上,把linuxsirhome数据,同步到本地目录linuxsirhome上。当然本地的目录是可以你自己定义的,比如 linuxsir也是可以的;当你在客户端上,当前操作的目录下没有linuxsirhome这个目录时,系统会自动为你创建一个;当存在linuxsirhome这个目录中,你要注意它的写权限。
说明:
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

1rsync-avzP  --delete linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

这回我们引入一个 –delete 选项,表示客户端上的数据要与服务器端完全一致,如果 linuxsirhome目录中有服务器上不存在的文件,则删除。最终目的是让linuxsirhome目录上的数据完全与服务器上保持一致;用的时候要小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;

1rsync-avzP  --delete  --password-file=rsync.password  linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

这次我们加了一个选项 –password-file=rsync.password ,这是当我们以linuxsir用户登录rsync服务器同步数据时,密码将读取 rsync.password 这个文件。这个文件内容只是linuxsir用户的密码。我们要如下做;

1touchrsync.password
2chmod600rsync.password
3echo"222222">rsync.password
4rsync-avzP  --delete  --password-file=rsync.password  linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

注: 这样就不需要密码了;其实这是比较重要的,因为服务器通过crond 计划任务还是有必要的;

让rsync 客户端自动与服务器同步数据

编辑crontab
crontab -e
加入如下代码:

110 0 * * *rsync-avzP  --delete  --password-file=rsync.password  linuxsir@linuxsir.org::linuxsirhome   linuxsirhome

表示每天0点10分执行后面的命令。更多crontab用法请参考
http://www.centos.bz/2011/03/auto-run-task-crontab/
参考文章http://www.linuxsir.org/main/?q=node/256


TAG:

 

评分:0

我来说两句

Open Toolbar