bash Shell命令实现文件增量同步 自动同步

bash Shell命令实现文件增量同步 自动同步

描述

  • 监听某个目录/文件夹,当其中有文件变动时将自动同步到一个目标目录/文件夹;
  • 核心用于文件增量同步,但同时具备:同步修改、同步删除 功能;
  • 不需要用到 cron 定时任务,更加易用;
  • 相比于定时同步,这个增量同步脚本更加具备实时性;
  • 日志提示。使用nohup 脚本名称.sh &还能在 nohup.out 中记录日志。

运行环境

  • CentOS 7+
  • inotifywait命令
    如果操作系统没有安装inotifywait命令,可以直接yum install -y inotifywait 或者其它你喜欢的安装方式

脚本源码

#!/bin/bash

SRC_DIR="/home/temp/src_dir"
DEST_DIR="/home/temp/dest_dir"

inotifywait -m -r -e modify,create,delete $SRC_DIR |
    while read path action file; do
        echo -e "path --- > $path \t\t action ---> $action \t\t file ---> $file"
        rsync -avz --delete ${path} $DEST_DIR
    done

改进

想同步到远程服务器怎么办?
rsync自带支持连接远程主机:

rsync -avz "$SRC_DIR/" root@目标IP:"$DEST_DIR/"

缺陷

脚本并不能实现监听远程服务器目录!
我并没有继续研究,有好的解决方案的小伙伴麻烦留言,3Q!


分享
在这里插入图片描述

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值