rsync

Linux系统实时数据同步inotify+rsync

試著忘記壹切 提交于 2020-02-02 01:35:05
一、inotify简介   inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除、读、写和卸载等操作。它监控到这些事件的发生后会默认往标准输出打印事件信息。要使用inotify,Linux内核版本必须是大于2.6.13,在这之前的内核都没有这个功能。我们可以利用inotify去监控我们要监控的资源,当资源发生变化时,我们扑捉它的事件,从而触发同步数据等操作。 二、inotify软件介绍   inotify是内核的一个功能,众所周知内核的功能我们必须要配合工具才能使用,通常情况下用户要使用内核的功能,都需要用户空间的软件去调用才可以达到使用内核的功能的目的,用户是无法直接操内核的。实现inotify软件有inotify-tools、sersync、lrsyncd。我们这里以inotify-tools这个软件包为例进行实验;inotify-tools包主要有两个文件,一个是inotifywait: 在被监控的文件或目录上等待特定文件系统事件(open close delete等)发生,常用于实时同步的目录监控;一个是inotifywatch:收集被监控的文件系统使用的统计数据,指文件系统事件发生的次数统计。通常情况下我们使用iontifywait就可以了。接下来我们来安装inotify-tools 三、inotify软件安装和使用  

Ansible-playbook

匆匆过客 提交于 2020-02-01 20:44:29
1.Ad-Hoc简介 1)ad-hoc命令 执行shell命令,或shell脚本。可以执行一些简单的命令,不需要将这些执行的命令特别保存下来。 适合执行简单的命令 2)Ansible playbook 可以解决比较复杂的任务,可以将命令保存下来。适合执行配置管理或部署客户机 2.Ansible playbook playbook是由一个或多个模块组成的,使用多个不同的模块,完成一件事 playbook通过yaml语法识别描述的状态文件.扩展名是yaml 1).YAML三板斧 缩进 YAML使用一个固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tab(默认一个tab=4个空格) 解决方法: [root@m01 ~]# cat .vimrc set number set tabstop=2 冒号 以冒号结尾的除外,其他所有冒号后面必须有空格 短横线 表示列表项,使用一个短横杠加一个空格。 多个项使用同样的缩进级别作为同一列表。 who 谁 what 事情 how 动作 ansible-playbook命令格式 ansible-playbook [option] filename 常用选项: -C, --check 模拟运行 --list-hosts 列出剧本主机清单 [root@m01 ansible_playbook]# ansible-playbook --list

cygwin rsync protocol error

自古美人都是妖i 提交于 2020-02-01 05:10:05
问题 I'm trying to rsync files between 64bit windows 7 and 64bit Linux. I have rsync 3.0.7 installed on both machine (cygwin version on windows). This is the command I'm running on windows. I see it's establishing a connection to the remote machine but it just dies after authenticating and before transferring files. What could cause this problem? rsync -vvvv localfile REMOTE-HOST:~/ FILE_STRUCT_LEN=16, EXTRA_LEN=4 cmd=<NULL> machine=REMOTE-HOST user=guest path=~/ cmd[0]=ssh cmd[1]=-l cmd[2]=guest

模块二、shell脚本逻辑结构

核能气质少年 提交于 2020-01-29 01:19:23
七、if结构条件句知识与实践 (一)if条件句单双分支语法 1、单分支 if 条件 then 指令 fi 2、双分支 if 条件 then 指令 else 指令集2 fi (二)if条件句多分支语句 if 条件1 then 指令1 elif 条件2 then 指令2 elif 条件3 then 指令3 else 指令4 fi 实例: 如果不存在目录/backup,则创建。 [root@centos6-kvm3 scripts]# cat 07-01.sh #!/bin/bash path="/backup" [ -d $path ] || mkdir $path -p if [ -d $path ] then : else mkdir $path -p fi if [ !-d $path] then mkdir $path -p fi [root@centos6-kvm3 scripts]# 开发shell脚本判断内存是否充足,如果小于100,提示不足,如果大于100提示充足。 [root@centos6-kvm3 scripts]# cat 07-02.sh #!/bin/bash mem=`free -m | awk 'NR==3{print $NF}'` if [ $mem -lt 100 ] then echo "内存不充足!" else echo "内存充足!" fi

Rsync的系统启动脚本

╄→尐↘猪︶ㄣ 提交于 2020-01-29 00:56:29
[root@m01 init.d]# vim rsyncd.sh #!/bin/bash # chkconfig: 2345 99 98 #author:oldyang choice=$1 STOP=/var/run/rsyncd.pid start(){ [ -f $STOP ] || rsync --daemon } stop(){ [ -f $STOP ] && kill `cat /var/run/rsyncd.pid` } restart(){ [ -f $STOP ] && kill `cat /var/run/rsyncd.pid` } case "$choice" in start) start ;; stop) stop ;; restart) restart sleep 1 rsync --daemon ;; *) echo "Usage: input right CMD. EX: {start|restart|stop}" exit 1 esac 测试脚本 [root@m01 init.d]# sh rsyncd.sh start [root@m01 init.d]# ss -lntup|grep rsync tcp LISTEN 0 5 *:873 *:* users:(("rsync",pid=17562,fd=3)) tcp LISTEN 0 5 ::

刷题记录:ctf473831530_2018_web_virink_web

好久不见. 提交于 2020-01-28 22:04:29
目录 刷题记录:ctf473831530_2018_web_virink_web 知识点 限制字符数量写shell 内网探测 PHP-FPM未授权访问漏洞 rsync未授权访问漏洞 刷题记录:ctf473831530_2018_web_virink_web 题目复现链接: https://buuoj.cn/challenges 参考链接: BUUOJ刷题-Web-ctf473831530_2018_web_virink_web 知识点 限制字符数量写shell 仅用20个字符想完成后面复杂的操作肯定是不可能的,这里可以使用 >filename + ls -tr>1.sh 的方法写shell,也可以直接 echo "xxx">1.php 内网探测 首先查看 /proc/net/fib_trie Main: +-- 0.0.0.0/0 2 0 2 +-- 127.0.0.0/8 2 0 2 +-- 127.0.0.0/31 1 0 0 |-- 127.0.0.0 /32 link BROADCAST /8 host LOCAL |-- 127.0.0.1 /32 host LOCAL |-- 127.255.255.255 /32 link BROADCAST +-- 173.165.232.0/24 2 0 2 +-- 173.165.232.0/28 2 0 2 |-- 173

Rsync快速入门实例(转)

安稳与你 提交于 2020-01-28 13:21:30
三种主要数据传输方式 单主机本地目录间数据传输(类似cp) Local: rsync [OPTION...] SRC... [DEST] 借助rcp,ssh等通道来传输数据(类似scp) Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST 守护进程(socket)的方式传输数据 Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST 选项 常用: -z, --compress 对备份的文件在传输时进行压缩处理。 -v, --verbose 详细模式输出。 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。 -

rsync 限制速度(防止rsync耗带宽)

Deadly 提交于 2020-01-28 09:48:18
些机房会限制机器的流量,为了不触及底线,在使用scp和rsync的时候都要注意。 为了避免你的scp或者rsync因为无良&懒惰的OPS设置防火墙的偷懒而造成的断流现象,我们必须对自己的数据传输进行一定的限流措施,慢一点总比被掐了的好。因此(限制为 1M Bytes/s): scp -l 10000 某个大文件 你的账号@远程的机器或者rsync是(限制为 60k Bytes/s): rsync 限制速度很简单,添加个参数即可bwlimit,后面的值是多少k Bytes/s 如:限制为 1000k Bytes/s): 复制代码 代码如下: rsync -auvz --progress --delete --bwlimit=1000 远程文件 本地文件 rsync -auvz --progress --delete --bwlimit=1000 本地文件 远程文件 完成! 来源: CSDN 作者: linus.lin 链接: https://blog.csdn.net/Tiger_lin1/article/details/103652174

Ansible部署rsync、nfs及sersync

爷,独闯天下 提交于 2020-01-26 20:35:05
rsync nfs sersync httpd 环境: 角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup NFS&Sers服务端 eth0:10.0.1.41 eth1:172.16.1.41 nfs JUMP SERVER eth0:10.0.1.71 eth1:172.16.1.71 m01 Rsy&NFS客户端 eth0:10.0.1.7 eth1:172.16.1.7 web01 Rsy&NFS客户端 eth0:10.0.1.8 eth1:172.16.1.8 web02 cat /etc/ansible/hosts [backup] 172.16.1.51 [nfs] 172.16.1.41 [web] 172.16.1.7 172.16.1.8 [all:children] backup nfs web 1.基础环境部署 1)firewalld selinux 2)ssh密钥生成以及公钥推送 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa -C root ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.7 ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.8 ssh

Rsync+Inotify实时同步

故事扮演 提交于 2020-01-25 17:56:38
#实现两服务器文件实时同步 rsync:负责传输同步文件 inotify:负责监测文件变动 (服务端)# yum -y install rsync 上行同步 先部署无密码登陆远程服务器 # ssh-keygen -t rsa # ssh-copy-id root@192.168.100.151 # rsync -avzH /kubernetes root@192.168.100.151:/ -v 输出详细信息 -z 压缩传输 -H 保持硬链接 -a 归档模式、保留文件权限、时间、链接、归属、特殊文件 部署Inotify文件监控 内核模块,监控文件和目录的变化,inotify-tools工具提供inotify-wait(持续监控)和inotify-watch(短期监控)两个模块进行监控 # tar -zxvf inotify-tools-3.13.tar.gz -C /usr/src/ # cd /usr/src/inotify-tools-3.13/ # ./configure &&make &&make install # ls /usr/local/bin/inotify* # vi /etc/sysctl.conf fs.inotify.max_queued_events = 16384 ##监控事件队列数 fs.inotify.max_user_instances =