rsync服务器架设(数据同步|文件增量备份)-2
上一篇 /
下一篇 2012-03-14 17:03:25
/ 个人分类:rsync
注:指定文件目录所在位置,这是必须指定的;
注:认证用户是linuxsir ,是必须在 服务器上存在的用户;
注:list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了;
注:忽略IO错误,详细的请查文档;
1 | secrets file = /etc/rsyncd/rsyncd .secrets |
注:密码存在哪个文件;
1 | comment = linuxsir home data |
注:注释可以自己定义,写什么都行,写点相关的内容就行;
1 | exclude = 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 服务器端口通过,客户端上也应该让通过。
1 | iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT |
查看一下防火墙是不是打开了 873端口;
通过rsync客户端来同步数据
1 | rsync -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有点关系,自己试试。可以看文档;
1 | rsync -avzP --delete linuxsir@linuxsir.org::linuxsirhome linuxsirhome |
这回我们引入一个 –delete 选项,表示客户端上的数据要与服务器端完全一致,如果 linuxsirhome目录中有服务器上不存在的文件,则删除。最终目的是让linuxsirhome目录上的数据完全与服务器上保持一致;用的时候要小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;
1 | rsync -avzP --delete --password- file = rsync .password linuxsir@linuxsir.org::linuxsirhome linuxsirhome |
这次我们加了一个选项 –password-file=rsync.password ,这是当我们以linuxsir用户登录rsync服务器同步数据时,密码将读取 rsync.password 这个文件。这个文件内容只是linuxsir用户的密码。我们要如下做;
3 | echo "222222" > rsync .password |
4 | rsync -avzP --delete --password- file = rsync .password linuxsir@linuxsir.org::linuxsirhome linuxsirhome |
注: 这样就不需要密码了;其实这是比较重要的,因为服务器通过crond 计划任务还是有必要的;
让rsync 客户端自动与服务器同步数据
编辑crontab
crontab -e
加入如下代码:
1 | 10 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: