共计 2970 个字符,预计需要花费 8 分钟才能阅读完成。
实现目的:A_Server 的目录文件备份到 B_Server
服务器基本信息:
A_Server:
目录:/rsync_master/
IP 地址:172.30.11.22
B_Server:
目录:/rsync_slave/
IP 地址:192.168.99.60
配置服务器部分:
一. A_Server_Config
备注:
1. 首先需要创建“rsyncd.conf”的主要配置文件和备份时需要的密码文件 rsync_a.pass。默认无此文件需要手动创建需要放在 /etc/
2. rsync 使用 –daemon 方式启动,服务端口为 TCP: 873. 并且 /etc/xinetd.d/rsync 里的 disable 设置为 no
2.1 daemon 为守护进程
根据守护进程的启动和管理方式,可以分为独立启动守护进程和超级守护进程两类
2.1.1 独立启动(stand_alone): 该类进程启动后就常驻内存,所以会一直占用系统资源。其最大的优点就是它会一直启动,当外界 有要求时相应速度较快,像 httpd 等进程;
2.1.2 超级守护进程:系统启动时由一个统一的守护进程 xinet 来负责管理一些进程,当相应请求到来时需要通过 xinet 的转接才可以唤醒被 xinet 管理的进程。这种进程的优点时最初只有 xinet 这一守护进程占有系统资源,其他的内部服务并不一直占有系统资源,只有数据包到来时才会被 xinet 管理员来唤醒。并且我们还可以通过 xinet 来对它所管理的进程设置一些访问权限,相当于多了一层管理机制。
编写:
1. 创建编写 rsyncd.conf 文件 和 备份需要的密码文件 rsync_a.pass
# vim /etc/rsyncd.conf
uid=nobody
gid=nobody
use chroot=no
max connections=4
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file=/var/log/rsyncd.log
[rsync_master_backup] // backup@172.30.11.22::rsync_master_backup 名称需要一致, 此语句是寻找此名称模块
path=/rsync_master/
ignore errors
read only=true
list=false
hosts allow=192.168.99.60
hosts deny=0.0.0.0/32
auth users=backup
secrets file=/etc/rsync_a.pass
:x
#vim /etc/rsync_a.pass
backup:passw0rd
:x
2. rsync 使用 –daemon 方式启动,服务端口为 TCP: 873. 并且 /etc/xinetd.d/rsync 里的 disable 设置为 no
# rsync –daemon // 启动 rsync –daemon
# vim /etc/sysconfig/iptables // 服务端防火墙添加 TCP:873 端口通信
-A INPUT -m state –state NEW -m tcp -p tcp –dport 873 -j ACCEPT
:x
# /etc/init.d/iptables restart // 防火墙重启
# vim /etc/xinetd.d/rsync
disable=no // disable=yes 修改为 no
:x
二. B_Server_Config
备注:
1. 首先要创建密码文件 rsync_b.pass 默认无此文件需要创建在 /etc/
2. 其次需要创建脚本文件 rsync_bak.sh 默认无此文件创建在 /rsync_sh/
3. 最后修改 crontab 文件设置定期执行 rsync_bak.sh 文件并创建日志文件 rsync_bak.log 默认无此文件创建在 /rsync_sh/
编写:
1. 首先要创建密码文件 rsync_b.pass 默认无此文件需要创建在 /etc/
# vim /etc/rsync_b.pass
passw0rd // 此文件只写密码还有密码需要与 A_Server 里的 /etc/rsync_a.pass 密码一致
2. 其次需要创建脚本文件 rsync_bak.sh 默认无此文件创建在 /rsync_sh/
# vim /rsync_sh/rsync_bak.sh
#!/bin/sh
echo $(date +”%Y-%m-%d-%H:%M:%S”)
rsync -azvP –delete –exclude=”*.txt” –password-file=/etc/rsync_b.pass backup@172.30.11.22::rsync_master_backup /rsync_slave/
:x
#chmod 744 /rsync_sh/rsync_bak.sh // chmod 授可执行权限
3. 最后修改 crontab 文件设置定期执行 rsync_bak.sh 文件并创建日志文件 rsync_bak.log 默认无此文件创建在 /rsync_sh/
# crontab -e
30 5 */1 * * /bin/sh /rsync_sh/rsync_bak.sh >> /rsync_sh/rsync_bak.log 2>&1 // 2>&1 对错信息都录入
:x
rsync 参数部分:
-a : –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD
-r : 递归
-l : 链接文件,拷贝链接文件的意思
-p: 保持文件原有权限
-t : 保持文件原有时间
-g: 保持文件原有用户组
-o: 保持文件原有属主
-D: 相当于块设备文件
-z : 传输时压缩
-v : 详细模式输出 - P 结合使用
-P : 显示备份过程 传输进度 -v 结合使用
–delete : slave 端删除多余的文件
–exclude: master 端排除不想同步的文件
–exclude-from: master 端排除不想同步的目录
–password-file: 指定密码文件路径
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
Linux 文件夹对比并提取的差分文件技巧 -rsync 的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm
Rsync 的详细介绍 :请点这里
Rsync 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140117.htm