Linux跨服务器文件同步

运维管理 专栏收录该内容
53 篇文章 0 订阅

源服务器&目的服务器

是否安装rsync

# 大部分已经安装了,查看是否安装
> rpm -qa |grep rsync

在这里插入图片描述

源服务器

是否支持安装inotify

> ll /proc/sys/fs/inotify

在这里插入图片描述

安装inotify

> tar -xf inotify-tools-3.14.tar
> ./configure
> make
> mae install

在这里插入图片描述

配置密码文件

# 密码自定义,但要与目的服务器一直
> echo "123456">/etc/rsyncd.secrets

编写同步脚本

> vi stat2master.sh

#!/bin/sh
##################
# 实时同步文件目录 #
##################

# 目的服务器IP
host=*.*.*.*
# 源服务器目录
src=/data/grid/
# 配置模块名,自定义但要与目的服务器一直
des=stat
# 目的服务器用户名
user=oidd

# 启动监控及日志格式
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
| while read files
do
/usr/bin/rsync -zrtopg --delete --progress --password-file=/etc/rsyncd.secrets $src $user@$host::$des
echo "${files} was rsynced" > /data02/grid/logs/rsyncd.log 2>&1
done

目的服务器

配置密码文件

> echo "oidd:123456" /etc/rsyncd.secrets

配置启动文件

> vi /etc/rsyncd.conf 

uid = root
gid = root
use chroot = yes
#本机地址
address = *.*.*.*
#监听的端口
#port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
#允许访问的客户机地址
hosts allow = *.*.*.*

#模块名称
[stat]
#项目路径
path = /sftp/stat
#项目描述
comment = Web File
#只读
read only = no
#同步时不再压缩的文件
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
#用户认证信息
auth users = hh
#用户认证信息存放的路径
secrets file = /etc/rsyncd.secrets

root用户启动

> /usr/bin/rsync --daemon --config=/etc/rsyncd.conf

/etc/rsyncd.conf必须是root:root属主

测试

源服务器

启动同步脚本

> ./stat2master.sh

同步目录下新建文件

> cd /data/grid/
> touch 1

目的服务器

查看远程目录

> ls 
1
  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值