监控Linux目录,并将目录新增的文件同步到其他服务器2020-11-13

该博客介绍了如何通过shell脚本结合inotifywait和rsync工具,实现实时监控Linux目录并同步新增文件到远程服务器。首先,配置SSH免密登录,然后创建一个shell脚本,利用inotifywait监听指定目录的变化,一旦有文件修改、删除或创建,就通过rsync命令将变更同步到远程服务器。此方法适用于单服务器或多服务器间的文件同步需求。
摘要由CSDN通过智能技术生成

监控Linux目录,并将目录新增的文件同步到其他服务器

#!/bin/sh
#add for chkconfig
#chkconfig: 2345 70 30
#description: the description of the shell   #关于脚本的简短描述
#processname: rsync_inotify_gitlab_backup    #第一个进程名,后边设置自启动的时候会用到
#2019-09-27
#本地需要同步的目录
SRC=/root/file/test_file1
##远程目录
DATA=/root/file/test_file2
##远程同步IP
IP=122.26.172.789(你要传送的ip地址)
inotifywait -mrq --timefmt '%Y-%m-%d-%H:%M' --format '%T %w %f' -e modify,delete,create,attrib,move $SRC | while read file
do
rsync -aP --delete $SRC root@$IP:$DATA
#若ssh端口非默认22端口,用以下命令
# rsync -aP "-e ssh -p 23" --delete $SRC root@$IP:$DATA
done

本脚本要用到远程登陆,需配置远程免密登录,如果像我一样只在一个服务器上测试只需执行
cd ~/.ssh然后执行ssh-keygen -t rsa一直点回车会看到
在这里插入图片描述
然后执行cat id_rsa.pub >>authorized_keys
然后看见在这里插入图片描述
就可以测试了
如果要两台机器则看下列链接
https://blog.csdn.net/ywl470812087/article/details/89817384?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160524266219724842958942%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160524266219724842958942&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-4-89817384.pc_first_rank_v2_rank_v28&utm_term=ssh%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95&spm=1018.2118.3001.4449
运行写好的脚本sh inoti.sh
他是时刻检测的,再打开一个端口 在需要检测的目录下 touch 11.11
在这里插入图片描述

之后,看原窗口
在这里插入图片描述
完成

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值