centos7下rsync+inotify脚本实现文件同步,.NET CORE客户端文件更新后自动重启服务
源服务器IP:192.168.8.51
目标服务器IP:192.168.8.79
安装前源服务器及目标服务器均需关闭FIREWALLD\SELINUX防火墙
sestatus | grep status systemctl disable firewalld.service setenforce 0
一、源服务器安装
源服务器需要安装inotify-tools、rsync 服务,inotify脚本服务放置此主机上监控源文件目录变化:
安装inotify-tools
yum -y intsll inotify-tools
安装rsync并配置开机启动
yum -y intsll inotify-tools
systemctl enable --now rsyncd.service
密码配置文件rsync.pas 放置在/etc目录下,并修改权限为600
123456
chmod 600 /etc/rsync.pas
重启rsync服务
systemctl restart rsyncd
准备inotify_rsync.sh 脚本来监控源文件目录
#!/bin/bash
# chkconfig: 2345 10 90
# description: resind SRC='/wwwroot/web/ma_tm_system/'
DEST='rsyncuser@192.168.8.79::backup'
rpm -q rsync &> /dev/null || yum -y install rsync
inotifywait -mrq --exclude=".*\.swp" --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;do
FILEPATH=${DIR}${FILE}
rsync -az --delete --password-file=/etc/rsync.pas $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done
脚本放置在 /etc/init.d/下,并增加可执行权限,并配置开机启动。
chmod +x /etc/init.d/inotify_rsync.sh
chkconfig --add inotify_rsync.sh
二、目标服务器:192.168.8.79安装:
1、安装inotify-tools
yum -y intsll inotify-tools
2、安装rsync并配置开机启动
yum -y intsll inotify-tools
systemctl enable --now rsyncd.service
3、备份rsync原配置文件及密码文件,并用准备好的配置文件覆盖。
cp /etc/rsyncd.conf /etc/rsyncd.conf.bak
准备好的 rsyncd.conf 配置文件
# /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: # uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # [ftp]
# path = /home/ftp
# comment = ftp export area
uid = root
gid = root
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no [backup]
path = /wwwroot/web/ma_tm_system/
comment = backup dir
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pas
4、密码配置文件rsync.pas 放置在/etc目录下,并修改权限为600
rsyncuser:123456
chmod 600 /etc/rsync.pas
重启rsync服务
systemctl restart rsyncd
5、目标服务器增加脚本用于监控WEB目录发生变化重启Core 服务。
inotify_resetCore.sh
#!/bin/bash
# chkconfig: 2345 10 90
# description: resind
SRC='/wwwroot/web/ma_tm_system/'
inotifywait -mrq --exclude=".*\.swp" --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;
do
systemctl restart Core.service
done
脚本放置在 /etc/init.d/下,并增加可执行权限,并配置开机启动。
chmod +x /etc/init.d/inotify_resetCore.sh
chkconfig --add inotify_rsync.sh
centos7下rsync+inotify脚本实现文件同步,.NET CORE客户端文件更新后自动重启服务的更多相关文章
- CentOS7下Rsync+sersync实现数据实时同步
近期公司要上线新项目,后台框架选型我选择当前较为流行的laravel,运行环境使用lnmp. 之前我这边项目tp32+apache,开发工具使用phpstorm. 新建/编辑文件通过phpstorm配 ...
- CentOS7之Rsync+Inotify架构实现实时同步文件和文件夹
简介:rsync是用来同步文件和文件夹的,inotify是用来实现监听变动而自动同步的 OS:Centos7.3 服务器端:172.16.13.157 客 户 端 :172.16.13.156 目 ...
- Linux下Rsync+sersync实现数据实时同步
inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...
- Linux下Rsync+Inotify-tools实现数据实时同步
Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...
- CentOS 6.5 rsync+inotify实现数据实时同步备份
CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...
- sersync基于rsync+inotify实现数据实时同步
一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...
- svn版本库更新后自动同步到www
注意:www目录一定要用SVN服务器 checkout出Repositories的代码 步骤: (1)新建www根目录 mkdir -p /data/www/lehuo (2)在www根目录下检出(c ...
- py脚本修改后自动重启
在用socket.io, pika之类启动一个脚本死循环做server或者client的时候: 1脚本被编辑之后,是不会自动重启 2当代码报错的时候,会立即退出, 只能手动重新运行 python ap ...
- linux下rsync+inotify实现服务器之间文件实时同步
先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例 ...
随机推荐
- windows 崩溃不提示
转载请注明来源:https://www.cnblogs.com/hookjc/ 碰到某些程序崩溃时弹出带红色叉叉的错误窗口或者是叫你选择调试或关闭的窗口,很碍眼.不过平时也没去理它,点掉就好. 今天客 ...
- 什么是UIImageView
UIKit框架提供了非常多的UI控件,但并不是每一个都很常用,有些控件可能1年内都用不上,有些控件天天用,比如UIButton.UILabel.UIImageView.UITableView等等 UI ...
- MySQL手写代码相关变量
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11777682.html 手写一些SQL代码时候需要用到的关键字. DELIMITER, BEG ...
- 关于String不可变的一些理解
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11683720.html 一直对String不可变感到疑问, 不知为何说String是不可变的, ...
- HDOJ acm steps 3.1.1
(都是递推求值,呵呵,好开心- - ) 今天又是在自习室通宵(文明玩的停不下来了) 游戏玩完想想该水题了,于是打开了HDOJ的ACM STEPS(这是个好东西,就像他的名字,一步步来的) 2.3.x貌 ...
- 2021江西省赛赛后总结(Crypto)
美国大选 程序: from Crypto.Util.number import * from secret import p,q def gcd(a, b): while b: a, b = b, a ...
- Spring系列14:IoC容器的扩展点
Spring系列14:IoC容器的扩展点 回顾 知识需要成体系地学习,本系列文章前后有关联,建议按照顺序阅读.上一篇我们详细介绍了Spring Bean的生命周期和丰富的扩展点,没有阅读的强烈建议先阅 ...
- 4、Linux基础--系统目录
笔记 1.晨考 1.移动文件的命令 mv 2.删除文件的命令及其参数 rm 参数: -r : 递归删除 -f : 不提示删除 -i : 提示删除 3.复制文件的命令及其参数 cp 参数: -r : 递 ...
- Solution -「LOCAL」模板
\(\mathcal{Description}\) OurOJ. 给定一棵 \(n\) 个结点树,\(1\) 为根,每个 \(u\) 结点有容量 \(k_u\).\(m\) 次操作,每次操作 ...
- 渗透利器burp suite新版本v2020.9.1及v2020.8汉化版下载
Burp suite是一款抓包渗透必备软件.burp Suite是响当当的web应用程序渗透测试集成平台.从应用程序攻击表面的最初映射和分析,到寻找和利用安全漏洞等过程,所有工具为支持整体测试程序而无 ...