首页 > 系统相关 >Linux rsync 如何实现自动文件同步?

Linux rsync 如何实现自动文件同步?

时间:2022-11-24 15:47:07浏览次数:57  
标签:tmp 文件 rsync 同步 roles Linux rsyncd root

Linux rsync 如何实现自动文件同步?

邱冬夏 于 2022-05-31 11:54:30 发布 3372 收藏 8

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

一、基础环境

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

本文是利用rsync实现在不同Linux服务器上的文件进行周期同步,有A、B两台服务器,A的IP为192.168.204.206,B的IP为192.168.204.204;

》A、B服务器的系统版本:
cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

》默认CentOS7有安装rsync软件,通过如下命令可以查看:

rpm -qa | grep rsync

》如果没有安装通过如下命令进行安装:

yum install rsync -y

二、服务端Server-A的配置流程

1、编辑配置文件,在默认配置下方添加如下配置

vim /etc/rsyncd.conf

#安全相关
use chroot = no
#是否只读
read only = no

#同步文件所属用户名
uid = appdeploy

#同步文件所属用户组
gid = mwopr

#最大链接数
max connections = 20
#模块名称
[transport1]
#同步的文件路径
path = /tmp/roles
#忽略错误程序
ignore errors
#用于认证的账户
auth users = admin
#用于认证的密匙文件
secrets file = /etc/rsyncd.passwd
#准许访问rsync服务端的客户端IP地址范围
hosts allow = 192.168.204.0/255.255.255.0
#禁止访问rsync服务端的客户端IP地址范围
hosts deny = *

2、创建用于认证的文件

echo "admin:qiushanyue" > /etc/rsyncd.passwd

3、对文件进行授权(重要)

chmod 600 /etc/rsyncd.passwd

4、启动服务

启动服务

systemctl start rsyncd

设置开机启动

systemctl enable rsyncd

查看服务状态

systemctl status rsyncd

5、设置防火墙

首先查看服务器上rsync服务的端口

netstat -antup | grep rsync

在这里插入图片描述
如图端口为tcp 873,进行防火墙策略放通

firewall-cmd --zone=public --add-port=873/tcp --permanent
firewall-cmd --reload

查看防火墙已经放通873端口

firewall-cmd --list-all

在这里插入图片描述

二、客户端服务器进行拉去文件测试

1、创建密码文件并授权

echo  "qiushanyue"  >  /root/passwd
chmod  600  /root/passwd

2、服务端服务器服务器上的/tmp路径下创建roles测试目录,并在下面创建测试文件

mkdir /tmp/roles
cd /tmp/roles
touch boduo cangjing xiaoze
在这里插入图片描述

3、在客户端服务器上的/tmp路径下创建roles测试目录并手动同步测试

mkdir /tmp/roles
rsync -avz --password-file=/root/passwd [email protected]::transport1 /tmp/roles

在这里插入图片描述

三、设置定时任务实现自动同步

1、创建脚本

touch /root/rsyncd.sh

》在脚本文件中添加拉去文件的指令

vim /root/rsyncd.sh
rsync -avz --password-file=/root/passwd [email protected]::transport1 /tmp/roles  >/dev/null 2>&1

在这里插入图片描述
》授权脚本文件
cd /root
chmod 755 rsync.sh

2、设置定时任务每小时同步一次

执行命令:crontab -e
(此处编辑与Vim用法一样,按i 输入下放指令,添加完按esc 然后输入:wq)

0 * * * * /root/rsyncd.sh        

crontab 设置规则
在这里插入图片描述

标签:tmp,文件,rsync,同步,roles,Linux,rsyncd,root
From: https://www.cnblogs.com/xiedy001/p/16922035.html

相关文章

  • 某集团公司NTP网络时间同步服务器部署方案
    某集团公司NTP网络时间同步服务器部署方案某集团公司NTP网络时间同步服务器部署方案京准电子科技官微——ahjzsz本项目需配备多台HR-901GB网络时间服务器,各作业部部署一......
  • linux离线安装boost
    默认安装方式https://www.boost.org,官网下载***.tar.gz离线安装包sh./bootstrap.sh安装./b2install指定安装目录方式https://www.boost.org,官网下载*......
  • ubuntu等debian系linux系统添加人脸识别howdy
    准备proxychainsproxychains是用来给终端走代理的软件,因为下载howdy的时候有一部分的文件的服务器在国外,且被墙了。安装proxychainssudoaptinstallproxychains配......
  • Linux指定参数启动Jar包
    Linux上启动jar包用于调试,通过指定参数启动,记录一下,命令行如下:nohupjava-jar-Xmx256M-Xms256Mxxxx.jar--server.port=9092--client.key=yourclientKey--client.s......
  • Linux用户和用户组管理
    一、用户配置文件  用户管理简介:     linux把通过把用户分为三个基本组,user,group,other来分配基本的权限  用户通过/etc/passwd用过用户名来获取用户的uid,通过......
  • jquery实现多个异步方法的同步调用
    js顺序执行两个异步方法需求场景:[由于某种影响,框架环境不能支持es6的promise语法]1、第一下拉框需要进行加载字典【已经封装好的方法1】异步2、加载完成字典之后才能赋值......
  • Linux下查看 cuda 与 cudnn 版本
    ➜~cat/usr/local/cuda/include/cudnn_version.h|grepCUDNN_MAJOR-A2可见cudnn版本是8.2.4➜~nvidia-smi![](https://img2022.cnblogs.com/blog/1233571/2......
  • linux系统配置jdk环境
    下载OracleJDK下载链接:OracleJDK下载解压tar解包,得到jdk目录,放在常用的目录中,这里以/usr/为例move./jdk8/usr/jdk8配置环境vim/etc/profileshift+g移动到末......
  • Rsync已过时?替代文件同步软件了解一下
    随着企业结构分散化的不断扩大,企业内部和企业间的信息互动更加频繁。越来越多的企业要求内部各种业务数据在服务器、数据中心甚至云上能够有实时的同步留存。所以,企业需要......
  • Linux创建定时删除日志任务
    定时删除3天前的所有日志文件:1、例:脚本对应的要删除的目录为/home/logs在home目录创建文件clearLogFiles.sh:cd/homevimclearLogFiles.sh写入脚本内容(typef表示值删文......