简介linux
rsync(remote sync)是类unix系统下的数据镜像备份工具。它的特性以下:vim
安装安全
在RedHat中,rsync是默认安装的。可经过命令行检查是否安装bash
[root@linuxprobe ~]# rpm -q rsync rsync-3.0.4-2.47.28
配置rsync server服务器
1. 修改rsync的配置文件,将disable从"yes"改为"no"ssh
[root@linuxprobe ~]# vi /etc/xinetd.d/rsync service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
设置开机启动RSYNCsocket
[root@linuxprobe ~]# chkconfig rsync on
2. 配置/etc/rsyncd.conf(须要手动生成)tcp
全局参数工具
uid = root //运行RSYNC守护进程的用户 gid = root //运行RSYNC守护进程的组 use chroot = no //不使用chroot max connections = 4 // 最大链接数为4 strict modes =yes //是否检查口令文件的权限 port = 873 //默认端口873
模块参数网站
[backup] //这里是认证的模块名,在client端须要指定 path = /home/backup/ //须要作镜像的目录,不可缺乏! comment = This is a test //这个模块的注释信息 ignore errors //能够忽略一些无关的IO错误 read only = yes // 只读 list = no //不容许列文件 auth users = linuxprobe //认证的用户名,若是没有这行则代表是匿名,此用户与系统无关 secrets file = /etc/rsync.pas //密码和用户名对比表,密码文件本身生成 hosts allow = 192.168.1.1,10.10.10.10 //容许主机 hosts deny = 0.0.0.0/0 //禁止主机 #transfer logging = yes 注释:下面这些文件是安装完RSYNC服务后自动生成的文件 pid file = /var/run/rsyncd.pid //pid文件的存放位置 lock file = /var/run/rsync.lock //锁文件的存放位置 log file = /var/log/rsyncd.log //日志记录文件的存放位置
3. 配置rsync密码
(1) 建立密码文件(文件即上述配置文件中的secrets file = /etc/rsync.pas)
[root@linuxprobe ~]# vim /etc/rsync.pas linuxprobe:password //帐号:密码,一行一个用户
(2) 修改密码文件的权限为600
[root@linuxprobe ~]# chown root.root /etc/rsync.pas [root@linuxprobe ~]# chmod 600 /etc/rsync.pas
4. 设置欢迎信息/etc/rsyncd.motd(无关紧要)
rsyncd.motd记录了rsync服务的欢迎信息,你能够在其中输入任何文本信息,如:
[root@linuxprobe ~]# vim /etc/rsyncd.motd Welcome to use the rsync services!
5. 生效配置
[root@linuxprobe ~]# service xinetd restart
启动rsync server
1. RSYNC服务端启动的两种方法
(1) 启动rsync服务端(独立启动)
[root@linuxprobe ~]#/usr/bin/rsync –daemon
(2) 启动rsync服务端 (有xinetd超级进程启动)
[root@linuxprobe ~]# /etc/rc.d/init.d/xinetd reload
2. 加入rc.local
在各类操做系统中,rc文件存放位置不尽相同,能够修改使系统启动时把rsync --daemon加载进去。
[root@linuxprobe ~]# vim /etc/rc.local 加入一行/usr/bin/rsync --daemon
3. 检查rsync是否启动
若输出显示state为LISTEN,表示为等待接受连接的状态,说明rsync已经启动。
[root@linuxprobe ~]# netstat -a | grep rsync tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
配置rsync client
1. 设定密码
[root@linuxprobe ~]# vim /etc/rsync.pas password
修改权限
[root@linuxprobe ~]# chown root.root /etc/rsync.pas [root@linuxprobe ~]# chmod 600 /etc/rsync.pas
2. client链接SERVER
从SERVER端取文件
/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas
向SERVER端上传文件
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /home/backup linuxprobe@192.168.0.217::backup
这个命令将把本地机器/home/backup目录下的全部文件(含子目录)所有备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。
请注意若是路径结束后面带有"/",表示备份该目录下的东东,但不会建立该目录,如不带"/"则建立该目录。
RSYNC用法:
rsync [OPTION]... [USER@]HOST::SRC [DEST] #从RSYNC SERVER备份文件到本地机器 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST #从本地机器备份文件到RSYNC SERVER
3. 自动运行
1) 制做脚本文件
[root@linuxprobe ~]# vim /usr/local/rsync/time.sh [root@linuxprobe ~]# !/bin/bash /usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas
2) 编辑crontab
[root@linuxprobe ~]# crontab -e 55 * * * * /usr/local/rsync/time.sh //每55分运行一次time.sh脚本文件
防火墙设置
若是服务器上装有防火墙,需在服务器中设置iptables将837端口开放。
[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/