Linux文件同步

本文介绍如何使用Linux下的inotify和rsync工具实现文件的实时同步。通过安装必要的软件包、生成SSH密钥并配置无密码登录,创建并运行inotify_rsync.sh脚本来监控指定目录的更改,并自动将更改同步到其他服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux实现文件同步

yum安装

     yum install inotify-tools
     yum install  rsync


获取公钥和私钥
     ssh-keygen -t rsa
     直接三次回车
     将公钥添加到各个需要更新的主机authorized_keys 文件中
     ssh-copy-id -i ~/.ssh/id_rsa.pub root@被同步的ip
     如果有提示 输入yes
     按提示输入密码回车
     web服务器 重启ssh
     service sshd restart

在代码发布服务器上以root身份创建inotify_rsync.sh脚本vi /root/inotify_rsync.sh 输入

#!/bin/sh
SRC=/data/www/    #代码发布服务器目录
DST=/data/www/    #目标服务器目录
IP="192.168.1.252 192.168.1.254"    #目标服务器IP,多个以空格隔开
USER=root
/usr/local/bin/inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w%f %e' --exclude "(.swp|.swx|.svn)" \
-e create,move,delete,close_write,attrib $SRC | while read files
do
for i in $IP
do
    /usr/local/bin/rsync -ahqzt --exclude Runtime --delete $SRC $USER@$i:$DST
    echo $files >>/tmp/rsync.log 2>&1
done
done


执行

     设置权限chmod +x /root/inotify_rsync.sh
     设置开机自启动echo "/root/inotify_rsync.sh &" >> /etc/rc.local
     执行脚本/root/inotify_rsync.sh &


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值