首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 inotify 和 rsync 实现文件实时同步

在生产中有一种需求是,当目录下的文件数据发生变化时,就将数据备份到备份服务器。...move 文件或目录不管移动到或是移出监控目录都触发事件create 文件或目录创建在监控目录中delete 文件或目录被删除监控目录中1.4 inotifywait 使用比如监听 文件的创建# 一个终端开始监听...它仅通过传输源和目标之间的差异来提供快速的增量文件传输。Rsync可用于镜像数据,增量备份,系统之间复制文件,可替代scp,sftp 和 cp 日常等使用的命令。...--exclude=PATTERN :排除匹配PATTERN的文件--exclude-from=FILE :如果要排除的文件很多,可以统一写在某一文件中-e ssh :使用SSH加密隧道传输2.2 rsync...rsync --daemon --config=/etc/rsync/rsyncd.conf2.2.3.2 客户端测试授权的机器使用授权用户同步文件:rsync -avP 授权用户@服务器ip::backup

1.2K30

25个必须记住的SSH命令

此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。...4、比较远程和本地文件 ssh user@host cat /path/to/remotefile | diff /path/to/localfile – 比较本地文件和远程文件是否有差异时这个命令很管用...9、创建目标主机的持久化连接 ssh -MNf @ 在后台创建目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用: Host host...ControlPath ~/.ssh/master-%r@%h:%p ControlMaster no 所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync...25、将标准输入(stdin)复制到你的X11缓冲区 ssh user@host cat /path/to/some/file | xclip 你是否使用scp将文件复制到工作用电脑,以便复制其内容到电子邮件中

2.1K50
您找到你想要的搜索结果了吗?
是的
没有找到

25个必须记住的SSH命令

此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。...4、比较远程和本地文件 ssh user@host cat /path/to/remotefile | diff /path/to/localfile – 比较本地文件和远程文件是否有差异时这个命令很管用...9、创建目标主机的持久化连接 ssh -MNf @ 在后台创建目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用: Host host ControlPath...~/.ssh/master-%r@%h:%p ControlMaster no 所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs...25、将标准输入(stdin)复制到你的X11缓冲区 ssh user@host cat /path/to/some/file | xclip 你是否使用scp将文件复制到工作用电脑,以便复制其内容到电子邮件中

1.4K20

Linux Rsync备份服务介绍及部署守护进程模式

rsync介绍 rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具 常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程...SSH模式下,rsync客户端运行程序必须同时本地和远程机器安装。...可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密) 6. 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*****。重点掌握 7....(这里是假,表示能写入) list = false #是否可以列表* hosts allow = 172.16.1.0/24 #准许访问rsync服务器客户范围(白名单...--exclude-from=要排除多个目录或文件汇总文件名称,利用排除文件排除,此方法是先将要排除的文件或目录名写到一个文件中,引用此文件 3.配置文件中进行修改,指定要排除的信息,此方法是rsync.conf

1.8K70

不同环境下 Jenkins 调用 shell 脚本管理 docker 容器

/ssh , 和 ~/.ssh/authorized_keys 的权利 第一步:本地机器使用 ssh-keygen 产生公钥私钥对 $ ssh-keygen 第二步:用 ssh-copy-id 将公钥复制到远程机器中...4、比较远程和本地文件 ssh user@host cat /path/to/remotefile | diff /path/to/localfile – 比较本地文件和远程文件是否有差异时这个命令很管用...9、创建目标主机的持久化连接 ssh -MNf @ 在后台创建目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用: Host host ControlPath...~/.ssh/master-%r@%h:%p ControlMaster no 所有到目标主机的 SSH 连接都将使用持久化 SSH 套接字,如果你使用 SSH 定期同步文件(使用rsync/sftp...25、将标准输入(stdin)复制到你的X11缓冲区 ssh user@host cat /path/to/some/file | xclip 你是否使用scp将文件复制到工作用电脑,以便复制其内容到电子邮件中

1.5K20

网络服务—RSYNC(映射nobody)

ssh协议免密码登录备份服务器备份服务器再使用rsync协议,将源服务器Server1的数据同步到备份服务器Server2。...实验环境:1号搭建rsync服务器(仅需要在NFS服务器搭建即可)2号搭建充当rsync备份服务器两台服务器分别创建目录(/filesrc、/filedst)实验步骤第一步: 配置源服务器和备份服务器.../filesrc备份服务器:Server2: 192.168.3.23,安装rsync目标目录:/filedst安装rsync服务yum -y install rsync创建备份目录mkdir /filedst...rsync服务器创建脚本实现实时同步S1上操作:利用rsync+inotifywait结合脚本实现单向实时同步cd /rootS1:源服务器(基准服务器)原理:目标目录与源目录直接比较下载功能脚本,...注:用户登录时要求免密码验证第八步:实验结果验证测试不同操作的同步情况服务器创建,删除文件,查看备份端是否正常拓展:调整inotify监控的文件数量调整inotify内核参数(/etc/sysctl.conf

92800

SSH原理常见应用升级及端口转发

因此,当数据互联网上传输时即使被有心的黑客监听窃取了,也很难获取到真正需要的数据 网络的数据包加密技术一般是通过所谓的一对公钥和私钥(Public key and Pivate key)组合撑的密钥对进行加密与解密操作...768-bit的公钥传给Client端 此时Client会将此公钥与先前存储的公钥进行对比,看是否一致,判断标准是Client端联机用户目录下~/.ssh/known_hosts文件的内容(linux...基于密钥的安全验证 基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥,然后把公用密钥(Publickey)放在需要访问的目标服务器,另外,个还需要把私有密钥(Private...# 5、测试 远程连接ssh 远程执行命令ssh ifconfig # 远程拷贝文件scp rsync-e隧道模式 ssh常见操作 将本地hosts发送指定IP 1....(telnet隧道) [root@A ~]# ssh -L 10000:49.233.69.195:23 -Nf 121.36.43.223 # 通过本地9527端口访问centos6-1服务器IP地址使用

1.7K40

【自动化运维】带你入门ansible

管理节点(即安装ansible的节点)添加目标节点(即需要管理的节点)的ssh认证信息。...管理节点生成SSH-KEY:ssh-keygen添加目标节点的SSH认证信息:ssh-copy-id root@目标节点IP添加认证信息后,目标节点主机的~/.ssh/目录下将会出现一个authorized_keys...如果目录不存在,则创建目录和子目录 absent 递归删除文件或目录 link 创建软链接是有用 hard 创建硬链接 示例 --- - name: file hosts: local tasks...compress:开启压缩默认为开启 copy_links:同步是否复制连接 delete:删除源中没有而目标文件存在文件 dest= 目标地址 dirs 以非递归的方式传输目录 mode:push或...pull,默认为push recursive 是否递归 rsync_opts 使用rsync的参数 rsync-path=PATH # 指定远程服务器rsync命令所在路径信息 rsync_timeout

52540

【玩转服务器】CentOS通过rsync实现文件同步(SSH方式)

rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式。 本文主要介绍CentOS操作系统中以ssh方式实现的步骤。...安装rsync CentOS 7.x及以上的版本默认已安装rsync,可以通过命令查看是否安装成功 rpm -qa |grep rsync # rsync-3.1.2-12.el7_9.x86_64 表示已安装...如未安装可通过以下命令进行安装 yum -y install rsync 本地服务器同步至远程服务器 # 将本地服务器/home/test下的目录文件同步到远程主机的/home/test目录内 # 执行命令会要求输入远程主机的...ssh密码 rsync -avuz /home/test/ root@192.168.1.1:/home/test/ 远程服务器同步至本地服务器 # 将远程主机/home/test下的目录文件同步到本地服务器的...-R, --relative 使用相对路径信息 # rsync foo/bar/foo.c remote:/tmp/ ## Rsync 参数/tmp目录创建foo.c文件,而如果使用-R

63741

搭建备份服务器

服务器到备份服务器之间—》定时备份站点数据及配置 cron+rsync nfs服务端到备份服务器之间—》实时备份 sersync+rsync \inotify+rsync \lrsyncd+rsync.../tmp/ ===》cp rsync -avz –delete /tmp1/ /mnt/ ===>rm 第二种工作模式、使用远程的shell -e指定隧道 推 把文件推到服务器端 注意这里的.../tmp /opt 这里是把tmp目录和tmp里面的内容都拉过来 rsync -avzP -e ‘ssh -p 22’ root@10.0.0.41:/tmp/ /opt 这个是把tmp的子目录里面的内容全部拉过来注意拉的...-M 3)创建模块目录并且授权 mkdir /backup chown -r rsync /backup/ 4)创建密码文件,并且收缩权限 echo “rsync_backup:pyrene”>/etc.../rc.local 2配置rsync客户端 1、创建密码文件 echo “pyrene” >/etc/rsync.password chmod 600 /etc/rsync.password 2、创建备份目录

2.7K40

Rsync 数据同步工具

使用方式 实时同步 利用 rsync 结合 inotify 或sersync 的功能做实时数据同步,根据存储服务器目录的变化,把变化的数据通过inotify或sersync结合rsync命令,同步到备份服务器...它可以将本地内容,同步到远程服务器通过ssh通道传输数据,类似scp命令 pull拉取数据命令 rsync [OPTION...] [USER@]HOST:SRC......默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。...对于上面的示例,表示目标上的/tmp下创建etc/cron.d目录,即/tmp/etc/cron.d,etc/cron.d的根"/"代表的就是目标/tmp。...rsync -a source destination 目标目录destination如果不存在,rsync 会自动创建

2.9K30

Rsync+Inotify 实现数据同步

.你可以使用它进行本地数据或远程数据的复制,Rsync可以使用 SSH 安全隧道进行加密数据传输,Rsync 服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器实际复制数据至本地,如果源数据服务器端被删除...Rsync 文件同步 Rsync服务端配置 1.服务端首先安装Rsync软件包,并创建一个/common目录拷贝进去一些配置文件用于测试....Rsync客户端配置 1.首先我们应该创建客户接收位置,用于接收传输文件,这里我就和服务器保持一致了....双向同步 Rsync+Inotify可实现一台服务器数据更新另一台马上同步,实现基础的单向热备份这里有个,前置条件主服务器对从服务器建立SSH密钥对验证,并且下面的几个步骤主从服务器都需要做一遍. 1...+Inotify可以实现,无论客户端还是服务器,只有发生变化全部进行同步,前置条件,两台服务器必须互相建立SSH密钥对验证,其次服务器和客户端必须同时安装以下软件,做相同的配置。

55220

ssh命令笔记

@epoos.com -p 8821 ssh -l user hostname -p 端口 # ssh -l root 111.222.333 -p 8821 ssh 远程机器执行命令 ssh user...@hostname ls # 远程机器执行 ls 命令 2.ssh -L命令 ssh -L 命令可以用来做本地转发,端口代理,将本地ip和端口通过跳板机代理到目标机器 本人日常工作中经常会遇到这样的场景...但是,由于安全考虑,测试服务器往往不能与本地进行直连,哪怕是连了vpn也不行,唯一的办法就是通过跳板机转发,如图: 此时,ssh -L命令就能派上用场了,如下命令 # ssh -L 本地IP:本地端口.../.ssh/unamekey 如上示例,使用ssh -L 命令之后,本地访问 127.0.0.1:8877 服务的时候,就会被跳板机代理到目标机器 10.113.133.786:8877 服务上了,此时本地即可访问到目标服务器的服务了...# 命令执行后,source目录里面的内容,就都被复制到了destination目录里面,并不会在destination下面创建一个source子目录 # 目标目录destination如果不存在,rsync

64310

Rsync服务简介部署使用及原理详解

当然,Rsync还可以本地主机的不通分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。...同步备份数据时,默认情况下,Rsync通过其独特的”quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性的变化同步,但需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分...# 可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身对数据不加密)。 # 可以通过sockert(进程方式)传输文件和数据(服务端和客户端)。...,让目标目录SRC和源目录数据DST一致,适用于两个目录完全一样 innotify的三种工作模式之本地模式 Rsync的本地模式,即将本地系统的文件或目录从一个目录移动到另外一个目录中,相当于一个系统命令来使用...该模式是一台rsync服务器安装并运行一个rsync的服务进程,其他的客户端通过rsync命令上传文件到服务器中。

1.4K50

MobaXterm 12中文绿色版

的标签终端 基于PuTTY的抗锯齿字体和宏支持 Windows的许多Unix / Linux命令 基本的Cygwin命令(bash,grep,awk,sed,rsync,...)...您开始的每个会话都会自动保存并显示左边栏中 3、多执行 写一次,执行无处不在:此工具允许您在许多不同的服务器同时执行相同的命令。...7、SSH网关 ssh,telnet,RDP,VNC会话中,您可以选择“SSH网关”(也称为“跳转主机”),以便在连接到要达到的终端服务器之前,首先要将MobaXterm连接到SSH服务器结束。...这允许您到达防火墙后面的一些服务器,并确保连接。 8、SSH隧道(端口转发) 图形SSH隧道管理器允许您使用直观的图形工具创建SSH隧道。...11、宏支持 您可以MobaXterm终端中记录宏:终端中输入的所有内容将被记录,以便稍后在其他服务器重播。

2.6K20

Linux中使用rsync数据备份工具和实例

体系的Linux系统安装rsync sudo apt install rsync 三、使用rsync备份工具 配置好rsync同步源服务器之后,客户端就可以使用rsync工具来执行远程同步了。...打印版本信息 ––help 显示帮助信息 指定复制源时,路径是否有最后的 “/” 有不同的含义,例如: /home : 表示将整个 /home 目录复制到目标目录 /home/ : 表示将 /home...目录中的所有内容复制到目标目录 四、rsync使用实例 本地复制 # rsync /etc/passwd 123.txt //类似于cp命令 远程同步 可以配合ssh免密码登录,则不需要输入密码。...传输成功后删除源文件(--remove-source-files) 假设你有一个主web服务器和一个数据备份服务器,你创建了一个每日备份并与备份服务器同步,现在你不想在你的web服务器保留备份的本地副本...Rsync用户手册页面上有更多关于Rsync的内容。下次再讲如何通过rsync+inotify实时同步文件。

1.2K10

【玩转服务器】CentOS通过rsync实现文件同步(daemon方式)

安装rsync CentOS 7.x及以上的版本默认已安装rsync,可以通过命令查看是否安装成功 rpm -qa |grep rsync # rsync-3.1.2-12.el7_9.x86_64 表示已安装...如未安装可通过以下命令进行安装 yum -y install rsync 服务器准备 远程服务器192.168.1.1,提供服务,需开启并配置rsyncd 本地服务器192.168.1.2,无需开启配置...-ef |grep rsync netstat -antlp |grep rsync 如netstat未安装,可通过命令进行安装 yum install net-tools 本地服务器配置 创建认证文件...,效果就是将该目录传输到目标目录下,如/test表示将目录test(含test目录本身)的文件及目录同步至目标目录 目标目录如果不存在,会自动创建目标目录 常用参数 -v, --verbose详细模式输出...,仅仅察看文件大小而不考虑文件时间 --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0 -T --temp-dir=DIR DIR中创建临时文件 --compare-dest

2.3K81

【linux命令讲解大全】130.rsync:快速远程数据同步工具

-e, --rsh=command: 指定使用rsh、ssh方式进行数据同步。 --rsync-path=PATH: 指定远程服务器rsync命令所在路径信息。...-T, --temp-dir=DIR: DIR中创建临时文件。 --compare-dest=DIR: 同样比较DIR中的文件来决定是否需要备份。 -P: 等同于 --partial。...实例 SSH方式 首先在服务端启动ssh服务: service sshd start 使用rsync进行同步 接下来就可以客户端使用rsync命令来备份服务端上的数据了,SSH方式是通过系统用户来进行备份的...注意,-r是必须的,否则 rsync 运行不会成功。source 目录表示源目录,destination 表示目标目录。...$ rsync -a source destination 目标目录成为源目录的镜像副本 默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录

35610

Linux服务器间文件实时同步的实现

使用场景 现有服务器A和服务器B,如果服务器A的指定目录(例如 /home/paul/rsync/ )中的内容发生变更(增删改和属性变更),实时将这些变更同步到服务器B的目标目录中(例如 /home...Rsync使用了快速检查算法,通过比较文件大小或最后修改时间的变化来判断文件是否需要同步。 Rsync连接远程主机有两种方式:使用sshrsync daemon。...配置服务器A和B之间的免密登录 服务器A执行: ssh-keygen ssh-copy-id 服务器B的IP地址 创建源端目录目标目录 服务器A中: mkdir /home/paul/rsync...服务器B中: mkdir /home/paul/rsync 服务器A创建测试文件 echo "Hello from Server A" >> /home/paul/rsync/demo.txt...源端做出更改后,需要执行rsync命令才能将变更同步到目标端。 Rsync每次同步前需要扫描整个目录。如果源目录内的文件数量比较多,扫描可能需要耗费较多的时间。

4.3K51

Linux服务器间文件实时同步的实现

使用场景 现有服务器A和服务器B,如果服务器A的指定目录(例如 /home/paul/rsync/ )中的内容发生变更(增删改和属性变更),实时将这些变更同步到服务器B的目标目录中(例如 /home/...Rsync使用了快速检查算法,通过比较文件大小或最后修改时间的变化来判断文件是否需要同步。 Rsync连接远程主机有两种方式:使用sshrsync daemon。...配置服务器A和B之间的免密登录 服务器A执行: ssh-keygen ssh-copy-id 服务器B的IP地址 创建源端目录目标目录 服务器A中: mkdir /home/paul/rsync...服务器B中: mkdir /home/paul/rsync 服务器A创建测试文件 echo "Hello from Server A" /home/paul/rsync/demo.txt 执行文件传送命令...源端做出更改后,需要执行rsync命令才能将变更同步到目标端。 Rsync每次同步前需要扫描整个目录。如果源目录内的文件数量比较多,扫描可能需要耗费较多的时间。

2.8K30
领券