共计 4740 个字符,预计需要花费 12 分钟才能阅读完成。
rsync 在进行文件备份时是如此的方便,以至于我觉得必须在自己的服务器上安装它。这里对 rsync 的服务器进行了简单粗暴的搭建和配置(直接上代码),对于细节不做深入讨论,但是可以肯定是,服务器一定能 run 起来,对于新手这才是最重要的,不是吗?
一 什么是 rsync
rsync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync 是用“rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过 ssh 方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
rsync 包括如下的一些特性:
1. 能更新整个目录和树和文件系统;
2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
3. 对于安装来说,无任何特殊权限要求;
4. 对于多个文件来说,内部流水线减少文件等待的延时;
5. 能用 rsh、ssh 或直接端口做为传输入端口;
6. 支持匿名 rsync 同步文件,是理想的镜像工具;
二 搭建 rsync 服务器
1.rsync 的安装
a. 源码编译安装
下载地址:https://rsync.samba.org/
[root@linuxidc install]# tar xvf rsync-3.1.1.tar.gz
[root@linuxidc install]# cd rsync-3.1.1
[root@linuxidc rsync-3.1.1]# ./configure –prefix=/usr/local
[root@linuxidc rsync-3.1.1]# make && make install
[root@linuxidc rsync-3.1.1]# cd /usr/local/bin
[root@linuxidc bin]# ll|grep rsync
-rwxr-xr-x. 1 root root 1368856 9 月 21 12:01 rsync
b. 软件包安装
sudo apt-get install rsync ## 注:在 debian、Ubuntu 等在线安装方法;
yum install rsync ## 注:Fedora、RedHat 等在线安装方法;
rpm -ivh rsync ## 注:Fedora、Redhat 等 rpm 包安装方法;
## 其它 Linux 发行版,请用相应的软件包管理方法来安装。
2.rsync 的配置
rsync 的主要有以下三个配置文件 rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc 服务器信息)
服务器配置文件 (/etc/rsyncd.conf),该文件默认不存在,请创建它。
具体步骤如下:
[root@linuxidc local]# cd /etc/
[root@linuxidc etc]# mkdir rsync.d
[root@linuxidc etc]# cd rsync.d/
[root@linuxidc rsync.d]# touch rsyncd.conf
[root@linuxidc rsync.d]# touch rsyncd.secrets
[root@linuxidc rsync.d]# touch rsyncd.motd
[root@linuxidc rsync.d]# chmod 600 rsyncd.secrets ## 将 rsyncd.secrets 这个密码文件的文件属性设为 root 拥有, 且权限要设为 600
[root@linuxidc rsync.d]# ll
总用量 0
-rw-r–r–. 1 root root 0 9 月 21 12:14 rsyncd.conf
-rw-r–r–. 1 root root 0 9 月 21 12:14 rsyncd.motd
-rw——-. 1 root root 0 9 月 21 12:14 rsyncd.secrets
以下是 rsyncd.conf 的配置
# Distributed under the terms of the GNU General Public License v2
# 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 = 115.28.34.xxx #修改为自己的 ip
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
hosts allow=*
hosts deny=*
max connections = 5
motd file = /etc/rsync.d/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
[mysql_backup]
path = /data/mysql_backup
list=yes
ignore errors
auth users = linuxidc
secrets file = /etc/rsync.d/rsyncd.secrets
comment = backup mysql
exclude = git/
以下是 rsyncd.secrets 的配置
linuxidc:123456
以下是 rsyncd.motd 的配置
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
CentOS6.3 linuxidc
++++++++++++++++++++++++++++++++++++++++++++++
3. 启动脚本
[root@linuxidc rsync.d]# vi /etc/init.d/rsync
#!/bin/bash
#
# rsyncd This shell script takes care of starting and stopping
# standalone rsync.
#
# chkconfig: – 99 50
# description: rsync is a file transport daemon
# processname: rsync
# config: /etc/rsync.d/rsyncd.conf
# Source function library
. /etc/rc.d/init.d/functions
RETVAL=0
rsync=”/usr/local/bin/rsync”
prog=”rsync”
CFILE=”/etc/rsync.d/rsyncd.conf”
start() {
# Start daemons.
[-x $rsync] || \
{echo “FATAL: No such programme”;exit 4;}
[-f $CFILE] || \
{echo “FATAL: config file does not exist”;exit 6;}
echo -n $”Starting $prog: “
daemon $rsync –daemon –config=$CFILE
RETVAL=$?
[$RETVAL -eq 0] && touch /var/lock/subsys/$prog
echo
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $”Stopping $prog: “
killproc $prog -QUIT
RETVAL=$?
echo
[$RETVAL -eq 0] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
# call the function we defined
case “$1” in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $”Usage: $0 {start|stop|restart|reload|status}”
exit 2
esac
exit $RETVAL
[root@linuxidc rsync.d]# chmod +x /etc/init.d/rsync
[root@linuxidc rsync.d]# /etc/init.d/rsync start
正在启动 rsync:[确定]
[root@linuxidc rsync.d]# chkconfig –add /etc/init.d/rsync ## 添加到开机启动
[root@linuxidc rsync.d]# chkconfig –level 235 rsync on ## 添加到开机启动
4. 测试连接
[root@linuxidc rsync.d]# rsync –list-only linuxidc@115.28.34.xxx::mysql_backup
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
centos6.3 linuxidc
++++++++++++++++++++++++++++++++++++++++++++++
Password:
drwxr-xr-x 4096 2015/09/20 15:24:06 .
drwxr-xr-x 4096 2015/09/21 04:00:01 201509
RSync 实现文件备份同步详解 http://www.linuxidc.com/Linux/2014-09/106967.htm
利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm
利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm
inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm
rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm
CentOS 6.5 下 Rsync 远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm
Rsync 的详细介绍 :请点这里
Rsync 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-10/123841.htm