rsync在进行文件备份时是如此的方便,以至于我觉得必须在自己的服务器上安装它。这里对rsync的服务器进行了简单粗暴的搭建和配置(直接上代码),对于细节不做深入讨论,但是可以肯定是,服务器一定能run起来,对于新手这才是最重要的,不是吗?
rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
rsync 包括如下的一些特性:
1. 能更新整个目录和树和文件系统;
2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
3. 对于安装来说,无任何特殊权限要求;
4. 对于多个文件来说,内部流水线减少文件等待的延时;
5. 能用rsh、ssh 或直接端口做为传输入端口;
6. 支持匿名rsync 同步文件,是理想的镜像工具;
下载地址:https://rsync.samba.org/
[root@yearnfar install]# tar xvf rsync-3.1.1.tar.gz [root@yearnfar install]# cd rsync-3.1.1 [root@yearnfar rsync-3.1.1]# ./configure --prefix=/usr/local [root@yearnfar rsync-3.1.1]# make && make install [root@yearnfar rsync-3.1.1]# cd /usr/local/bin [root@yearnfar bin]# ll|grep rsync -rwxr-xr-x. 1 root root 1368856 9月 21 12:01 rsync
sudo apt-get install rsync ##注:在debian、ubuntu 等在线安装方法; yum install rsync ##注:Fedora、Redhat 等在线安装方法; rpm -ivh rsync ##注:Fedora、Redhat 等rpm包安装方法; ##其它Linux发行版,请用相应的软件包管理方法来安装。
rsync的主要有以下三个配置文件rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器信息)
服务器配置文件(/etc/rsyncd.conf),该文件默认不存在,请创建它。
具体步骤如下:
[root@yearnfar local]# cd /etc/ [root@yearnfar etc]# mkdir rsync.d [root@yearnfar etc]# cd rsync.d/ [root@yearnfar rsync.d]# touch rsyncd.conf [root@yearnfar rsync.d]# touch rsyncd.secrets [root@yearnfar rsync.d]# touch rsyncd.motd [root@yearnfar rsync.d]# chmod 600 rsyncd.secrets ##将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600 [root@yearnfar 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 = yearnfar secrets file = /etc/rsync.d/rsyncd.secrets comment = backup mysql exclude = git/
以下是rsyncd.secrets的配置
yearnfar:123456
以下是rsyncd.motd的配置
++++++++++++++++++++++++++++++++++++++++++++++ Welcome to use the mike.org.cn rsync services! centos6.3 yearnfar ++++++++++++++++++++++++++++++++++++++++++++++
[root@yearnfar 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@yearnfar rsync.d]# chmod +x /etc/init.d/rsync [root@yearnfar rsync.d]# /etc/init.d/rsync start 正在启动 rsync: [确定] [root@yearnfar rsync.d]# chkconfig --add /etc/init.d/rsync ## 添加到开机启动 [root@yearnfar rsync.d]# chkconfig --level 235 rsync on ## 添加到开机启动
[root@yearnfar rsync.d]# rsync --list-only [email protected]::mysql_backup ++++++++++++++++++++++++++++++++++++++++++++++ Welcome to use the mike.org.cn rsync services! centos6.3 yearnfar ++++++++++++++++++++++++++++++++++++++++++++++ Password: drwxr-xr-x 4096 2015/09/20 15:24:06 . drwxr-xr-x 4096 2015/09/21 04:00:01 201509