rsync远程同步(增量备份)
配置文件: /etc/rsyncd.conf默认端口:tpc 837启动服务:srync --daemon停止服务:kill$(cat /var/run/rsyncd.pid)查看端口:netstat-anpt |grep rsync重启端口须先停止端口再启动端口(1)服务器上建立/etc/rsyncd.conf配置文件(2)为备份账户创建数据文件(3)启动rsync服务程序
1、rsync服务说明
配置文件: /etc/rsyncd.conf
默认端口:tpc 837
启动服务:rsync --daemon
停止服务:kill $(cat /var/run/rsyncd.pid)
查看端口:netstat -anpt | grep rsync
重启端口须先停止端口再启动端口
2、配置rsync源服务器
(1)服务器上建立/etc/rsyncd.conf配置文件
vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes (禁锢在源目录)
address = 192.168.1.10 (监听地址)
port 873 (监听端口)
log file = /var/log/rsyncd.log (日志文件位置)
pid file = /var/run/rsyncd.pid (存放进程ID的文件位置)
hosts allow = 192.168.1.0/24 (允许访问的客户机地址)
[wwwroot] (共享模块名称)
path = /var/www/html (源目录的实际路径)
comment = Document Root of 11111111 (备注)
read only = yes (是否为只读)
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 (同步时不再压缩的文件类型)
auth users = backuper (授权账户)
secrets file = /etc/rsyncd_users.db (存放账户信息的数据文件)
(2)为备份账户创建数据文件
mkdir -p /var/www/html/ (此目录下的是要备份的文件)
touch /var/www/html/1.txt
vim /etc/rsyncd_users.db
(添加账户密码)
backuper:123 (用户为backuper,密码为123)
chmod 600 /etc/rsyncd_users.db (配置只读权限)
ls -ld /var/www/html/ (查看权限)
(3)启动rsync服务程序
rsync --daemon (启动rsync)
netstat -anpt | grep rsync (查看rsync端口)
3、使用rsync备份工具
(1)配置源的表示方式
客户端下载到root目录下
rsync -avz backuper@192.168.1.10::wwwroot /root
输入backuper密码
客户端下载到myweb目录下
mkdir /myweb (创建目录)
rsync -avzH --delete backuper@192.168.1.10::wwwroot /myweb
输入backuper密码
(2) 自动rsync备份
vim /etc/server.pass (保存backuper密码)
(添加密码)
123
chmod 600 /etc/server.pass (添加权限)
crontab -e
(添加)
30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/server.pass backuper@192.168.1.10::wwwroot /myweb (每天晚上10点半自动备份,备份文件在myweb)
4、inotify+rsync实时同步
inotify通知接口,可以监控文件系统的各种变化。(在客户端上安装,只能上行)
(1)调整inotify内核参数
vim /etc/sysctl.conf
(添加)
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches =1048579
sysctl -p
(2) 安装inotify-toosl,需要先插入光盘,
tar zxf inotify-tools-3.14.tar.gz -C /usr/src/
cd /usr/src/inotify-tools-3.14/
./configure && make && make install
(3)测试监控目录
mkdir -p /var/www/html
inotifywait -mrq -e modify,create,move,delete /var/www/html/ (不能强行停止)
新建终端 在/var/www/html 新建文件,返回原终端查看,
(4)编写触发式同步脚本
vim /opt/inotify_rsync.sh
(添加)
#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,move,delete /var/www/html/"
RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.1.10::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD
done
chmod +x /opt/inotify_rsync.sh
echo '/opt/inotify_rsync.sh' >> /etc/rc.local
(5)服务器上配置
vim /etc/rsyncd.conf
将 read only = yes 改为
read only =no (设置上传文件的权限,有写入的权限)
chmod 777 /var/www/html (修改目录本身的权限)
kill $(cat /var/run/rsyncd.pid)
rsync --daemon (停止服务和启动服务)
(6)执行脚本进行测试
/opt/inotify_rsync.sh (客户端执行脚本)
在/var/www/html/创建文件
ls /var/www/html/ (查看服务器上查看是否上行文件)
更多推荐
所有评论(0)