rsync

多台服务器文件实时同步 rsync+inotify

风流意气都作罢 提交于 2019-12-10 12:31:42
多台服务器文件实时同步 rsync+inotify 前言 当线上服务器有多台并且又没有运维的时候,传输文件就成了一件非常麻烦的事儿,每次传代码都需要登录多台服务器,很容易就漏传了文件,这时候就需要一个自动化的文件同步工具了。 虚拟机服务端:192.168.146.103 虚拟机客户端1:192.168.146.102 虚拟机客户端2:192.168.146.104 系统:centos6.5 关于rsync 与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 关于inotify inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。 1、服务端安装rsync 检查服务器是否已经安装rsync rpm -aq rsync 如果存在可以卸载之后再重新安装最新版,如果不存在直接安装。以下两种方式选择一种安装。 选择1、自动安装: yum install -y rsync

Preserving aliases over OSX ssh rsync

那年仲夏 提交于 2019-12-10 10:36:21
问题 I'm having a devil of a time preserving aliases with rsync over ssh on OSX (Yosemite) rsync -av -e ssh me@N.N.N.N:/Users/me/stuff/ /Users/me/stuff does not preserve aliases. It makes an alias on the destination... but it doesn't point to the original file (on the destination). Firing up a Finder window, turning on File Sharing on the source, and drag and dropping preserves aliases, but that's the only way I've figured out how to do this so far, and I would prefer a non-GUI solution. Would

git update/patch on remote host without internet

情到浓时终转凉″ 提交于 2019-12-10 10:05:09
问题 I have a host with access threw vpn for example: 10.0.0.2 That host has no access to my git repository, and to the internet at all. i do not want to copy all the time zip archive with full project and unzip it on 10.0.0.2. git format-patch mybranch --root --stdout > ~/Downloads/mypatch.patch creates me 1gb patch, and i cant apply it. git format-patch -1 HEAD here i can't understand how many commits i need, and how to apply them. So the question is: how can i update my project on that host?

scp断点续传

ε祈祈猫儿з 提交于 2019-12-10 05:19:38
scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下: rsync - P - - rsh = ssh home . tar 192.168 .205 .34 : / home / home . tar ## -P: 是包含了 “–partial –progress”, 部分传送和显示进度 ## -rsh=ssh 表示使用ssh协议传送数据 如果不想每次都使用 rsync -P rsh=ssh 之类的,可以写成alias scpr=“rsync -P --rsh=ssh” 那么下次就可以直接使用 scpr home.tar 192.168.205.34:/home/home.tar 来拷贝数据了。 在传输过程中,目标文件会以.home.tar.xxxx文件也隐藏,可以用la -a来显示出来。如果scpr中断了,那么该文件会变成用户指定的目标文件"home.tar",下次传的时候又会改成.home.tar.xxxx文件。 执行rsync过程中,我们肯定希望把这个job放入后台执行,而不因为secureCRT类似的窗口中断受影响,那么在执行了 rsync -P --rsh=ssh home

linux服务器磁盘inodes 占用满了的异常问题

此生再无相见时 提交于 2019-12-09 20:44:59
最近碰见一个linux服务器磁盘inodes 占用满了的异常问题。主要是 cron 定时任务 发信错误导致写了大量小文件(我的大概堆积了200多W个)占用满了节点。如果碰见相似情况可以参照链接文章调整设置。 http://blog.csdn.net/greenqingqingws/article/details/51984962 对于百万级文件删除可以用rsync 软件进行删除 yum install rsync mkdir /tmp/test rsync --delete -a -H -v --progress --stats /tmp/test/ /var/spool/postfix/maildrop/ 来源: oschina 链接: https://my.oschina.net/u/2369800/blog/1556442

基于 Git Namespace 的存储库快照方案

淺唱寂寞╮ 提交于 2019-12-09 20:43:47
前言 Git 是一种分布式的版本控制系统,分布式版本控制系统的一大特性就是远程存储库和本地存储库都包含存储库的完整数据。 而集中式的版本控制系统只有在中心服务器上才会包含存储库完整的数据,本地所谓的存储库只是远程服务器特定版本的 checkout 。当中心服务器故障后,如果没有备份服务器,那么集中式的版本控制系统存储库的数据绝大部分就会被丢失。这很容易得出分布式版本控制系统的代码要必集中式的版本控制系统更加安全。 但是,安全并不是绝对的,尤其当 Git 被越来越多的人使用后,用户也会需要 Git 吸收集中式版本控制系统的特性来改进用户体验,这种情形下,Git 分布式版本控制系统的安全性也就面临挑战。终端用户获取的不是完整的数据,为了保证存储库的安全仍然需要备份或者镜像远程服务器上的存储库。(用户可以使用浅表克隆,单分支克隆或者使用 git vfs(GVFS) 之类的技术加快 git 访问。) Git 给开发者非常大的自由,git 可以修改 commit 重新提交,也可以强制推送<sup>1</sup>引用到远程服务器,覆盖特定的引用,不合理的使用强制推送是非常危险的,这很容易造成代码丢失,对于企业存储库来说,合理的快照能够代码丢失后减小代码资产的损失。(但这并不是说绝对禁止强制推送<sup>2</sup>) 在 Gitee 提供了企业版后,我们也经常接收到用户对于代码资产安全的反馈

实时同步lsyncd

倾然丶 夕夏残阳落幕 提交于 2019-12-09 20:34:02
要求rsync >= 3.1 rsync --version systemctl status rsyncd 1.安装lsyncd yum install -y lsyncd lsyncd --version 2.创建日志文件 mkdir /var/log/lsyncd touch /var/log/lsyncd/lsyncd.{log,status} 3.创建配置文件 mkdir -p /etc/lsyncd vim /etc/lsyncd.conf 4.配置文件写入以下内容: settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status", pidfile = "/var/run/lsyncd.pid", statusInterval = 1, nodaemon = false, maxProcesses = 1, maxDelays = 1, } #本地同步 sync { default.rsync, source = "/data/source", target = "/data/target", } #rsync+ssh远程目录同步,需要免key登录 sync { default.rsyncssh, source="/data/source",

Linux 快速删除大量小文件方法

て烟熏妆下的殇ゞ 提交于 2019-12-09 20:24:26
当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。 1. rsync安装,有些系统默认安装有该命令 Ubuntu 系统:sudo apt-get install rsync Fedora 系统:sudo yum install rsync 其他的可以源码安装,到下面的网站下载 http://rsync.samba.org 2. rsync提供了一些跟删除有关的参数 rsync --help | grep delete --del an alias for --delete-during --delete delete extraneous files from destination dirs --delete-before receiver deletes before transfer, not during --delete-during receiver deletes during transfer (default) --delete-delay find deletions during, delete after --delete-after receiver deletes

window rsync server 安装使用

﹥>﹥吖頭↗ 提交于 2019-12-09 19:09:19
rsync是linux下一款用于同步文件的优秀软件,window下也可以使用它,不过名字为cwRsync。本文主要介绍的是使用window作为rsync的服务端,linux为客户端的使用方法。 cwRsync也分为客户端很服务端, 服务端: cwRsync_Server_2.0.10_Installer 客户端: cwRsync_2.0.10_Installer window是作为服务端,所以下载名为cwRsyncServer_4.0.5_Installer.zip的文件。 下载后解压安装,按照向导一步一步下去即可,安装最后需要输入一个系统账号和密码,这个账号是用于运行cwRsync服务的,必须有管理员权限。 安装完成后,在安装的根目录下有一个名为rsyncd.conf文件,即是配置文件。修改后的内容如下: use chroot = false strict modes = false hosts allow = * log file = rsyncd.log # 如果没有uid,gid 的设置linux客户端会提示 # invalid uid nobody 错误 uid = 0 gid = 0 # 指定tcp 端口,默认是873 # port = 1122 # 定义模块,可以定义多个 [test] # 模块对应系统目录,需要使用/cygdrive + 盘符 path =

Windows Server 2003下cwRsyncServer服务端与cwRsync客户端数据

假如想象 提交于 2019-12-09 19:09:07
Windows Server 2003下cwRsyncServer服务端与cwRsync客户端数据 来源: osyunwei.com 作者: qihang01 发表于: 2012-08-19 21:26   点击: 108 说明: cwRsyncServer服务端 IP:192.168.21.128 cwRsync客户端 IP:192.168.21.129 实现目的: 把服务端D:\data目录中的数据通过任务计划定期同步到客户端D:\data目录中 附件: cwRsyncServer下载地址: cwRsync下载地址: 具体操作: 一、在服务端安装cwRs 说明: cwRsyncServer服务端 IP:192.168.21.128 cwRsync客户端 IP:192.168.21.129 实现目的: 把服务端D:\data目录中的数据通过任务计划定期同步到客户端D:\data目录中 附件: cwRsyncServer下载地址: cwRsync下载地址: 具体操作: 一、在服务端安装cwRsyncServer 解压cwRsyncServer_4.0.3_Installer.zip,双击cwRsyncServer_4.0.3_Installer.exe 系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 Next I Agre(同意) 安装路径,默认即可