博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SuSe11 inotify+rsync 实现文件实时同步
阅读量:5213 次
发布时间:2019-06-14

本文共 2659 字,大约阅读时间需要 8 分钟。

linux suse rsync 同步操作

配置完成rsync后开始 rsync 服务 停止 stop 重启 restart

service rsyncd start

参考博客地址:https://www.jianshu.com/p/bab26e046c2f https://www.jb51.net/article/41417.htm https://blog.csdn.net/qq_36031499/article/details/54315466

产生文件服务 101.9.101.111 同步到服务器101.9.101.119

101.9.101.119 rsync 配置
配置 vi /etc/rsyncd.conf
gid = root
uid = root
use chroot = no
max connections = 200
timeout = 300
strict modes = yes
hosts allow = 101.9.101.111
port = 873
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

[media]
path = /smart/cms/media
ignore errors = yes
read only = false
list = false
auth users = root
secrets file = /etc/rsyncd.secrets

创建密码本

vi /etc/rsyncd.secrets
root:123456
给权限
chmod 600 /etc/rsyncd.secrets

启动或者重启rsync 服务

101.9.101.111 rsync配置
配置 vi /etc/rsyncd.conf
gid = root
uid = root
use chroot = no
max connections = 200
timeout = 300
strict modes = yes
hosts allow = 101.9.101.119
port = 873
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

 

[media]

path = /smart/cms/media/
ignore errors = yes
read only = false
list = false
auth users = root
secrets file = /etc/rsyncd.secrets

创建密码本

vi /etc/rsyncd.secrets
root:123456
给权限
chmod 600 /etc/rsyncd.secrets

启动或者重启rsync 服务

rsync 配置完成

使用命令 在11上
rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd /home/rsynctest/ root@101.9.101.113::media

suse 11 中的 rsyncd.secrets 如果当作密码本会一直出现报错,要手动创建密码本 rsyncd.passwd

在 /etc/ 创建 rsyncd.passwd 内容 客户端直接写密码 123456 服务端要写用户名和密码:rsync:123456

rsync 相关日志查看 /var/log/rsyncd.log

rsync + inotify

下载 inotify 地址:https://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

tar -zxf inotify-tools-3.13.tar.gz
安装
./configure --prefix=/usr/local/inotify
make && make install

编写 inotify_rsync.sh 脚本 要放在需要同步文件的目录下

#!/bin/bash
host=101.9.101.113
src=/home/rsynctest/
des=media
user=root

/home/inotify-tools-3.13/src/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files

do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd $src $user@$host::$des
#--password-file=/etc/rsyncd.passwd
# rsync -vzrtopg --delete --progress /home/rsynctest/ root@101.9.101.113::media
echo "${files} wa rsynced" >>/var/log/rsync.log 2>&1
done
修改脚本权限
chmod 764 inotify_rsync.sh
启动
sh inotify_rsync.sh &
查看
ps -ef | grep inotify
停止 kill -9 脚本运行的PID

注意: src=/home/rsynctest/ 命令或者 脚本本 最后带 / 和 不带/ 有区别

带 / 同步的是rsynctest目录下的文件,不会创建rsynctets目录,需要有rsynctest 目录
不带 / 同步 rsynctest 这个目录 过去

转载于:https://www.cnblogs.com/Smoredemo/p/11214324.html

你可能感兴趣的文章
form表单中method的get和post区别
查看>>
【做题】arc068_f-Solitaire——糊结论
查看>>
Poj 1094 拓扑排序 水题
查看>>
Oracle SQL查询,日期过滤条件要注意的一点
查看>>
JavaScript深入系列(一)--原型和原型链详解
查看>>
一点感想
查看>>
产生随机数
查看>>
Python命名规范
查看>>
滚动条
查看>>
程序员的自我修养九Windows下的动态链接
查看>>
BZOJ 4052: [Cerc2013]Magical GCD
查看>>
Codeforces Round #361 (Div. 2)
查看>>
oauth2学习
查看>>
Python time & datetime & string 相互转换
查看>>
细说WebSocket - Node篇
查看>>
1014 装箱问题——http://codevs.cn/problem/1014/
查看>>
java.lang.UnsupportedOperationException
查看>>
Linux operating system (Ubuntu) 学习-1
查看>>
Python字典实现分析
查看>>
jenkins+testNG
查看>>