Linux:rsync

news2024/11/25 20:23:48

一款快速增量备份工具【Remote Sync,远程同步】
远程灾难备份功能
*支持本地复制,或者与其他SSH、rsync主机同步

配置rsync源服务器【rsync同步源】
   *指备份操作的远程服务器,也称为备份源

web服务器本地有服务器,IDC机房有备份主机(远程同步),具体谁是同步源或发起端用户可以自定义。

*下行:发起端有读取权限
*上行:要有写入权限
*上行多配置为ssh模式 


环境:

两台centos:
确保两台都安装了rsync

 主服务器ip 192.168.254.11

客户端ip       192.168.254.20

这里我只备份一个http的目录同步到客户端上,实际上你可以同步任意的一个目录,/目录也是一样

同步两个的 主机都要有httpd这个服务,这样做是为了去同步/var/www/html里的文件

注意:

实际上可以同步任意目录,这里只是为了实验

 我们在主服务器的/var/www/html/里写入文件

touch /var/www/html/{1..4}.txt

 除了这四个文件里边还有个other目录


主配置

到服务器上

cat /etc/passwd |grep "^nobody"

如果没有nobody用户就去创建一个

vim /etc/rsyncd.conf 

写入

 uid = nobody
 gid = nobody
# 任何人
 use chroot = yes
address = 192.168.254.11
#服务器
port 873
# 端口号
log file = /var/log/rsyncd.log
# 日志
pid file = /var/run/rsyncd.pid
# 储存pid,等会用于关服务
hosts allow = 192.168.254.0/24
# 允许那个网段去同步
[http]
# 名字
    path = /var/www/html
# 同步的根目录
    comment = 123123
# 解释可以随便写
    read only = yes
    dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
# 同步时不再压缩的文件 
    auth users = tarro
# 允许的用户
    secrets file = /etc/user_list
    # 用户路径

 vi /etc/user_list

前面用户:后面密码 

chmod 600 /etc/user_list 

rsync --daemon 

# 开启服务

kill $(cat /var/run/rsyncd.pid) 

# 关闭服务

现在到客户机上 

什么都没有

rsync -avzH tarro@192.168.254.11::http /var/www/html

# 然后输入密码

现在就同步过来了

 

 

 到主服务器上随便修改几个文件

再到客户机上 

rsync -avzH --delete rsync://tarro@192.168.254.11/http /var/www/html

 

把旧的删除并且同步过来

老是输入密码有点麻烦,这也对我们到点进行自动备份,使用计划任务有了阻碍,我们可以把密码写进一个文件里,他同步使用去找文件里的密码,我们就 不用去输入了

我们再去服务器去修改一下文件

再回到客户机

vim /etc/server.pass 

 把密码写进去

 rsync -avzH --delete --password-file=/etc/server.pass  rsync://tarro@192.168.254.11/http /var/www/html

这次我们不用输入密码,直接就同步过来了 

 Linux:centos:周期性计划任务管理《crontab》_linux周期性计划任务时间格式_鲍海超-GNUBHCkalitarro的博客-CSDN博客

使用crontab测试周期性同步

再去服务器上修改文件

 crontab -e

写入

30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/server.pass rsync://tarro@192.168.254.11/http /var/www/html/

# 每天10.30执行命令

 date -s 22:29:30

修改时间

然后就可以到点执行了 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postman每次请求前获取token并保存到环境变量

文章目录 创建一个tab,写上接口地址,json类型的参数,点击send,返回成功。 点击Environment,新建dev环境,创建token变量 编写Tests脚本 // 获取响应的token值 var responseJson pm.response?.json()…

《TCP IP网络编程》第三章

2023.7.10 第3章、地址族与数据序列 3.1 分配给套接字的IP地址与端口号 IP 是 Internet Protocol(网络协议)的简写,是为收发网络数据而分配给计算机的值。端口号并非赋予计算机的值,而是为了区分程序中创建的套接字而分配给套接字…

激活函数 | 神经网络

1 为什么使用激活函数(Activation Function) 1.数据角度: 由于数据是线性不可分的,如果采用线性化,那么需要复杂的线性组合去逼近问题,因此需要非线性变换对数据分布进行重新映射; 2.线性模型的表达力问题…

python flask server 接收post数据注意

前面写了两篇文章,结果错误不少,经过修正,改了很多错误 1 跨域 加上以下两条 from flask_cors import CORS from flask_cors import cross_origin以下让整个全景跨域 CORS(app, supports_credentialsTrue)2 secret_key 加上secret_key 防…

系列五、RocketMQ集群搭建

一、概览 二、集群特点 2.1、NameServer NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。 2.2、Broker Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Sla…

客户端是win10远程连接ubuntu后图形化执行程序verdi

一、安装xlaunch 1.1 搜索vcxsrv安装即可 1.2 对vcx进行配置,参考 将ubuntu终端打开的GUI图形界面窗口显示在windows上_heusjh的博客-CSDN博客https://blog.csdn.net/m0_51194302/article/details/128768284#:~:text%E5%B0%86ubuntu%E7%BB%88%E7%AB%AF%E6%89%93%…

天翎MyApps低代码平台案例分享—百川信保安服务综合管理系统

项目背景:百川信(北京)信息服务有限公司(以下简称“百川信”)成立于2014年,是一家专注于为安保行业提供高效、全场景、智能化协同办公管理与服务的科技公司。作为国内领先的数字安保解决方案与应用服务提供…

winform去掉最小化后左下角窗口,托盘处理

去掉如图的窗口; public partial class FormZpenSample : Form{public FormZpenSample(){InitializeComponent();#region 托盘处理//隐藏ui this.WindowState FormWindowState.Minimized;//隐藏任务栏区图标this.ShowInTaskbar false;//不显示this.Hide();//图标显…

masm32 链接问题

当我参考资料学习Windows环境下32位汇编时,编译倒没什么问题,可是链接就不对了。 网上也没找到解决办法,经过后来思考了一下,会不会是link.exe这个玩意有问题?比如有多个? 所以使用link的绝对路径试了一下…

使用json-server 模拟后端数据

1. json-server是什么 json-server 是一个 Node 模块,运行 Express 服务器,你可以指定一个 json 文件作为 api 的数据源。 简单的说,它可以模拟小型后台接口,在一个JSON文件中操作数据,是基于的node.js的一个模块。 比…

【MySQL】MySQL分区表详解

本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 分区表介绍表分区的优缺点和限制 分区适用场景分区方式分区策略RANGE分区LIST分区HASH分区KEY分区COLUMNS 分区 常见分区命令是否支持分区创建分区表向分区表添加新的分区删除指定的分区重新组织分…

2 增长渐进阶求解

2 增长渐进阶求解 作者: 赵晓鹏时间限制: 1S章节: 递归与分治 #include<iostream> using namespace std;int main() {cout << "A"<<endl ; cout << "A"<<endl ; cout << "A"<<endl ; cout << …

Linux 学习记录49(QT篇)

Linux 学习记录49(QT篇) 本文目录 Linux 学习记录49(QT篇)一、事件处理机制1. 什么是事件2. 如何处理事件(1. 当事件发生时(2. QObject类的子类 3. 事件处理函数由来4. 鼠标和键盘事件5. 键盘按键示例 二、定时器1. 定时器事件2. 代码实现3. 自制文本闹钟 三、绘制事件&#xf…

Centos7离线模式安装Redis6.2.13详细步骤(rpm方式)

本篇文章主要介绍在CentOS7服务器中安装Redis6.2.13&#xff0c;前提是需要有gcc的环境&#xff0c;那么在此我也会向大家介绍gcc的详细安装过程&#xff0c;参考了很多其它相关博客&#xff0c;但有些博主的文章可能是搬运的&#xff0c;导致我在实操时出现报错&#xff0c;那…

CVE-2023-23752-Joomla权限绕过漏洞研判分析

CVE-2023-23752-Joomla权限绕过漏洞分析 简介 Joomla是一个开源免费的内容管理系统&#xff08;CMS&#xff09;&#xff0c;基于PHP开发。 在其4.0.0版本到4.2.7版本中&#xff0c;存在一处属性覆盖漏洞&#xff0c;导致攻击者可以通过恶意请求绕过权限检查&#xff0c;访问…

Go轻量级线程Goroutine

文章目录 Goroutinegoroutine的创建GPM介绍goroutine调度 道阻且长&#xff0c;行则将至&#xff0c;行而不辍&#xff0c;未来可期&#x1f31f;。人生是一条且漫长且充满荆棘的道路&#xff0c;一路上充斥着各种欲望与诱惑&#xff0c;不断学习&#xff0c;不断修炼&#xff…

第二十一章:用户与权限管理

第二十一章&#xff1a;用户与权限管理 21.1&#xff1a;用户管理 登录MySQL服务器 # 语法 mysql -h hostname|hostIP -P port -u username -p DatabaseName -e "SQL语句"; # -h参数 后面接主机名或者主机IP&#xff0c;hostname为主机&#xff0c;hostIP为主机IP。…

请求响应-简单参数的接受

请求响应 请求&#xff08;HttpServletRequest&#xff09;&#xff1a;获取请求数据响应&#xff08;HttpServletResponse&#xff09;&#xff1a;设置响应数据BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构。客户端只需要浏览器&#xff0c;应用程序的逻…

BCD码与二进制码的区别与联系

二进制数是整串二进制编码表示一个整数&#xff0c;BCD码是用二进制码逐一表示0&#xff5e;9的整数。 (本笔记适合对整数进制编码有一定了解&#xff0c;熟悉二进制数编码的编程爱好的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org…

【python】制作一个串口工具(下)!

上一章节我们说了UI界面的设计&#xff0c;这一节来说下怎样实现其功能。 一.实例演示 1.创建一个.py文件&#xff0c;以下代码用来实现获取所有的串口信息&#xff1a; import serial import serial.tools.list_portsfrom PyQt5.QtWidgets import QComboBoxclass My_ComBoBo…