Linux下架设rsync服务器的案例分享

发布时间:2019-08-26编辑:脚本学堂
本文介绍下,在linux下架调rsync服务器的一个实例,有需要的朋友参考下。

rsync 是一个Unix系统下的文件同步和传输工具。
rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法。
Some features of rsync include
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@jbxue:~]#mkdir /etc/rsyncd  --在/etc目录下创建一个rsyncd的目录,用来存放rsyncd.conf 和rsyncd.secrets文件;
[root@jbxue:~]#touch /etc/rsyncd/rsyncd.conf  --创建rsyncd.conf ,这是rsync服务器的配置文件;
[root@jbxue:~]#touch /etc/rsyncd/rsyncd.secrets --创建rsyncd.secrets ,这是用户密码文件;
[root@jbxue:~]#chmod 600 /etc/rsyncd/rsyncd.secrets  --为了密码的安全性,把权限设为600;
[root@jbxue:~]#ls -lh /etc/rsyncd/rsyncd.secrets
-rw------- 1 root root 14 2007-07-15 10:21 /etc/rsyncd/rsyncd.secrets
[root@jbxue:~]#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 = jbxue
#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=*
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
 
#This will give you a separate log file
#log file = /var/log/rsync.log
#This will log every file transferred - up to 85,000+ per user, per sync
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[P_repositor]
path = /nsn_talko_production/talko/var/www/html/Talko/talko.next/repository/
 

list=yes      --list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。
ignore errors    --忽略IO错误
auth users = root  --用户账号 (这个必须得是系统中已经存在的账号)
secrets file = /etc/rsyncd/rsyncd.secrets   --存放密码的地方
comment = P_repositor  --相当于是一种接口名字,等服务跑起来了客户端可以直接用这名字调用相关服务器的文件夹内容信息
#exclude =  beinan/  samba/  --无视这两个文件夹的内容
 
rsyncd.secrets中内容,类似这样:
 

复制代码 代码示例:
root:123456
yofee:123456
 

 
rsyncd.motd 文件
用于定义rysnc 服务器信息,即用户登录信息。
示例:
+++++++++++++++++++++++++++
+ Yofee Packages rsync    +
+++++++++++++++++++++++++++
 
三、启动rsync服务器
 

复制代码 代码示例:
[root@jbxue:~]#/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

四、防火墙设置
 

复制代码 代码示例:
[root@jbxue:~]#iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
[root@jbxue:~]#iptables -L  查看一下防火墙是不是打开了 873端口;

五、执行同步命令
 

复制代码 代码示例:
rsync -avzP root@jbxue::P_repositor /nsn_talko/talko/var/www/html/Talko/talko.next/

要求输入root的密码。

可以结合/etc/rc.local或crontab进行自动任务的创建。

您可能感兴趣的文章:
rsync与inotify实现数据同步的实例分享
linux rsync同步备份的安装与配置
rsync同步排除多个文件的方法
linux下rsync服务配置一例
使用rsync备份文件的方法浅析
rsync同步时排除文件的方法
有关rsync安装与配置的实例教程
有关rsync服务器端配置及客户端的使用
学习rsync服务端与客户端的配置
使用rsync的exclude选项
rsync文件同步配置一例
文件同步工具rsync配置
linux rsync同步设置指南