Linux下架设rsync服务器
(2010-04-01 20:25:59)rsync 包括如下的一些特性:
* can update whole directory trees and filesystems
能更新整个目录和树和文件系统;
* optionally preserves symbolic links, hard links, file ownership, permissions, devices and times
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
* requires no special privileges to install
对于安装来说,无任何特殊权限要求;
* internal pipelining reduces latency for multiple files
对于多个文件来说,内部流水线减少文件等待的延时;
* can use rsh, ssh or direct sockets as the transport
能用rsh、ssh 或直接端口做为传输入端口;
* supports anonymous rsync which is ideal for mirroring
支持匿名rsync 同步文件,是理想的镜像工具;
[root@estals60:~]#mkdir /etc/rsyncd --在/etc目录下创建一个rsyncd的目录,我们用来存放rsyncd.conf 和rsyncd.secrets文件;
[root@estals60:~]#touch /etc/rsyncd/rsyncd.conf --创建rsyncd.conf ,这是rsync服务器的配置文件;
[root@estals60:~]#touch /etc/rsyncd/rsyncd.secrets --创建rsyncd.secrets ,这是用户密码文件;
[root@estals60:~]#chmod 600 /etc/rsyncd/rsyncd.secrets --为了密码的安全性,我们把权限设为600;
[root@estals60:~]#ls -lh /etc/rsyncd/rsyncd.secrets
-rw------- 1 root root 14 2007-07-15 10:21 /etc/rsyncd/rsyncd.secrets
[root@estals60:~]#touch /etc/rsyncd/rsyncd.motd
二。 修改 rsyncd.conf 和rsyncd.secrets 和rsyncd.motd
rsyncd.conf 是rsync服务器主要配置文件,我们来个简单的示例;比如我们要备份服务器上的 /nsn_talko_production/talko/var/www/html/Talko/talko.next/repository/
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
address = estals60
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
hosts allow=* #192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0
#hosts deny=*
motd file = /etc/rsyncd/rsyncd.motd
#log file = /var/log/rsync.log
#transfer logging = yes
syslog facility = local3
timeout = 300
path = /nsn_talko_production/talko/var/www/html/Talko/talko.next/repository/
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd/rsyncd.secrets
comment = P_repositor
#exclude =
+++++++++++++++++++++++++++
+ Yofee Packages rsync +
+++++++++++++++++++++++++++
三、启动rsync服务器
[root@estals60:~]#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
四、防火墙的设置
[root@estals60:~]#iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
[root@estals60:~]#iptables -L 查看一下防火墙是不是打开了 873端口;
五、执行同步命令
rsync -avzP root@estals60::P_repositor /nsn_talko/talko/var/www/html/Talko/talko.next/
这时会要求输入root的密码,然后就没啥问题了。
另外其实也可以考虑把他建在系统任务里面定时运行。道理都是一样的,用crontab,这里就不再重述了。