两台Linux文件夹单向同步【inotify、rsync、ssh】

背景

两台Linux要实现文件夹备份功能,源机器文件夹中文件的新增修改删除操作,要同步到备份机。

实践

两台机器10.0.0.1;10.0.0.2,1机器为主机,2机器为备份机

ssh设置

在备份机2机器中执行创建用户、配置密码

useradd filesync

passwd filesync

在1机器中链接2机器

ssh filesync@10.0.0.2

ssh-keygen -t rsa

ssh-copy-id filesync@10.0.0.2

inotify安装

在1机器中安装inotify工具,用来监控文件变动,需要借助epel安装

yum install -y epel-release

yum --enablerepo=epel install inotify-tools

# 安装完成使用inotifywait -h测试
# inotifywait -h

rsync

一般情况下linux自带rsync

rsync -h

同步配置

1机器中有文件夹/home/filesync

2机器也创建一个文件夹/home/filesync

1机器创建一个sh脚本,用来执行同步

touch /home/filesync.sh

chmod +777 /home/filesync.sh

编辑脚本内容

#!/bin/bash
src=/home/filesync
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,move,close_write,delete,create,attrib $src |  while read file
do
      rsync -vzrtopg --delete --progress  $src filesync@10.0.0.2:/home/

      echo "  ${file} was rsynced" >>/home/filesync.log 2>&1
done

执行脚本

nohup /home/filesync.sh > /home/filesync.out 2>&1 &

现在应该可以实现同步了。

注意事项

2机器中的备份文件的权限组应该设置文filesync这个用户,否则可能出现因为没有权限,造成同步失败的情况

2机器的文件夹加权限组

chown -R filesync:filesync /home/filesync/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
rsync是一个用于文件同步的工具,可以在本地和远程服务器之间进行文件的复制和同步。而inotifyLinux系统中的一个文件系统事件监控框架,可以实时监控文件系统中的事件,比如文件的修改、删除、创建等。通过结合rsyncinotify,可以实现文件的自动同步功能。 在给出的引用\[1\]中,是一个使用rsyncinotify实现自动同步的脚本示例。脚本中定义了一些变量,包括源路径、日志文件、rsync服务器的地址、用户名、密码等。然后通过inotifywait命令监控源路径下的文件系统事件,并在事件发生时使用rsync命令将文件同步到远程服务器。 引用\[2\]提到了rsync的其他功能,包括双向同步和使用sersync2实时同步多个远程服务器。同时还提到了inotify作为高效实时的Linux文件系统事件监控框架。 引用\[3\]是修改rsync配置文件的示例,将disable选项改为no,表示启用rsync服务器。 综上所述,通过使用rsyncinotify,可以实现Linux系统中的文件同步和实时监控功能。 #### 引用[.reference_title] - *1* *2* *3* [Linux同步工具inotify+rsync使用详解](https://blog.csdn.net/wuzhongchao/article/details/42364039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值