Questions tagged «rsync»

rsync是一种工具,可以通过强大的过滤器来决定要复制的内容,以本地或远程方式有效地复制目录层次结构。

3
是什么使rsync的一侧如此繁忙?
我的局域网上有一台Debian机器,作为其他机器的备份服务器。它在LVM和btrfs上将四个HDD组合成一个软件RAID 5 md设备。备份是使用rsync进行的,大型文件系统需要一个多小时。很长时间以来,我一直认为我对此无能为力。 但是,最近,我注意到硬盘的活动在传输的两端都非常不同。尽管运行Gentoo并主要使用ext4的发送方几乎没有任何磁盘IO,但是接收方一直很忙。由于大多数数据在两次传输之间不会改变,因此我认为元数据读取应构成大部分数据。但是,如果在btrfs中读取inode而不是在ext4中进行如此大的工作,我会感到非常惊讶。 iotop 经确认,接收方的磁盘读取速度约为1-4 MB / s,而发送方偶尔只有0.5 MB / s的突发速度。 我的问题是,谁能解释这是怎么回事?最好带有一些指示,如果可能的话,如何解决该问题。 也许有一些我可以使用的btrfs调整标志,或者类似的东西。我需要备份服务器上具有快照功能的FS,而我尝试使用FreeBSD和ZFS会很快导致FS不一致,因此目前我看不到btrfs的替代方案。因此,告诉我使用ext4或zfs的答案可能会收到投票,但没有复选标记。 根据cjm的要求,正在使用Rsync选项: --rsync-path='rsync --fake-super' --archive # -rlptgoD --hard-links # detect and preserve these --acls --xattrs --sparse --noatime # based on patch from samba #7249c1 --delete --delete-delay --fuzzy --human-readable # size suffixes, base 1000 --stats 以及一堆-f删除某些文件的规则。 btrfs的安装选项报告mount为 rw,nosuid,noexec,noatime,nospace_cache …
11 performance  rsync  io  mdadm  btrfs 

2
复制符号链接并指向使用rsync的位置
它不需要用来完成rsync,但是不用编写脚本来做到这一点就很好了,它与rsync我想要的非常接近。 rsync -a(或-l)可以保留符号链接,并且-L可以取消引用符号链接并将其复制,就好像它是正常的文件/目录一样。但是,是否可以保留符号链接,还可以复制链接指向的文件/目录? 这是一个例子。假设我们具有以下文件夹层次结构: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirB/not_this_file dirC/file dirC/file2 dirD/others 当我这样做rsync -aR dirA dest(或其他方式)时,我希望这些内容出现在dest: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirC/file dirC/file2 这可能rsync吗?谢谢。 假设具有绝对路径或指向源目录外部的符号链接可以忽略。
11 symlink  rsync 

3
使用rsync进行双向同步
我正在尝试使用rsync设置双向或双向同步。就我而言,从B到A同步时,我只需要删除文件。因此,我考虑两次按以下方式运行rsync: rsync -rtuv ./A/ ./B/ rsync -rtuv --delete ./B/ ./A/ 此解决方案的问题是,当我运行rsync(AB)后立即运行rsync(B-> A)时,在同步之间创建的任何新文件也将被删除。 有没有一种方法可以将时间戳记指定为条件,即仅在此日期/时间之前创建文件时才删除文件。 更新: 我知道有一个统一的解决方案,但是必须在两端安装统一问题。我正在与远程服务器同步,因此无法在远程端安装统一。


5
明智地处理移动的Rsync
我已经成功地使用rsync在笔记本电脑和上网本之间同步主目录(两者都在Linux上使用ext4)。我唯一的问题是,我不时地希望完全重组某些目录,而rsync将其视为删除和创建新文件,这使其非常缓慢且效率低下。 有人知道一个很好的软件可以很好地处理文件移动吗? 我发现统一应该能够做到这一点,但实际上似乎并不起作用。我通过同步两个本地目录(每个目录中都有一个大文件)来测试统一,它仍然将我的移动检测为删除+创建,实际上比rsync还要慢。 而且,如果我几个月前看过unison的源代码时没记错的话,它试图做类似求和的事情,而我不希望我的理想解决方案做求和,这对于大型应用来说太慢了文件/目录。我想要一些可以注意到的东西: “该文件的最后一个源副本似乎已被删除,并且源目录树中的其他位置有一个新文件,该文件的mdate,大小和inode编号相同,因此,我仅假设这是一个步骤,相应地移动其目标副本,而不是执行Delete + copy。” 对我而言,重要的是我能够快速同步这些机器。 有什么建议?

5
如何完全按原样复制文件系统?
我有一个要编程的设备的文件系统,我想对其进行精确复制。理想情况下,我希望此副本与从其复制的文件夹相同。我已经尝试使用cp -r cp -a并rsync -azvP尝试实现这一目标。尽管每个文件夹都将导致一个具有不同大小的文件夹(使用du -s),并且最终即使我的设备运行的文件夹不是原始文件夹,也不会运行我复制的文件夹。 我所使用的命令没有说明什么而导致的遗漏呢? 复制文件系统/文件夹时,是否可以使所有内容保持一致?如果是这样,我将如何去做? PS我在StackOverflow上发布了类似的问题,但很快意识到我在错误的交换上提出了要求 编辑:这可能无济于事,但是无论我使用哪种方法复制的目录始终会导致有问题的计算机出现以下输出,导致内核崩溃。 VFS:尝试通过软盘无法通过NFS挂载根fs。VFS:无法打开根设备“ nfs”或unknown-block(2,0),请附加正确的“ root =”引导选项;这里是可用的分区:1f00 64 mtdblock0(驱动程序?)1f02 64 mtdblock2(驱动程序?)1f04 2432 mtdblock4(驱动程序?)1f05 128 mtdblock5(驱动程序?)1f06 4352 mtdblock6(驱动程序?)1f07 204928 mtdblock7(驱动程序?)1f08 50304 mtdblock8(驱动程序?)0800 8388608 sda驱动程序:sd内核崩溃-不同步:VFS:无法在未知块(2,0)上安装根fs
10 linux  filesystems  rsync  cp 

2
除了.svn文件夹及其子内容以外的Rsync吗?
处理一个Subversion仓库和一个不太了解它如何工作的新用户。 长话短说,由于复制随机的.svn文件夹导致其本地结构混乱,因此我执行了以下操作: 将本地结构复制到名为暂存的文件夹中 从暂存目录中递归删除所有.svn文件夹 签出回购到“干净的文件夹” 现在,我们进入了最后一步-获取临时文件夹的内容以覆盖干净的内容。 我需要有一个命令将登台目录的内容复制到clean目录,删除仅在clean目录中的所有内容,但保留clean文件夹的.svn文件夹。 这听起来像是rsync的工作。以下命令正确吗? rsync -avr --exclude=.svn* [staging] [clean]
10 rsync  subversion 

5
目录同步与自动对等发现
我正在使用位于Amazon云自动扩展功能(文档)背后的Linux服务器集群。每个服务器上都有累积的文件,它们是应用程序的缓存文件。我正在寻找一种自动化的方法,以使服务器之间相互同步该文件夹。 Rsync 如果有人有一个聪明的方法来进行对等检测,它将可以工作。 同样适用Unison。 我们还考虑过使用SaaS(例如Dropbox)。 Gluster似乎有些矫kill过正,而且我不确定让一台新计算机自动加入群集有多么容易。 理想情况是,当启动新服务器时,它将发现其对等端并开始同步文件夹。从那时起,它是最新的文件时间戳赢得P2P同步。 那里有什么可以做的吗?
10 linux  rsync  cluster 

2
在两个Linux服务器之间同步数百万个文件
我有一台服务器,它通过NFS将包含约700万个文件(主要是图像)的目录从其本地磁盘导出到网络客户端。 为了进行HA,我需要添加第二个,并使其与第一个保持同步,并使两者之间的增量尽可能小。 研究建议为此使用lsyncd或其他基于inotify的解决方案,但鉴于创建inotify 监视的文件数量需要花费很长的时间。对于rsync也是一样。 其他可能的解决方案似乎是DRDB,或群集文件系统,如头孢或glusterfs,可是我不得不与那些没有经验,不知道哪一个会更合适,并与许多文件以及应对并仍提供不俗的表现。 请注意,该活动大部分是读取的,几乎没有写入发生。

3
rsync到多个远程服务器
我有一个文件要发送到多个单独的服务器。是否可以命名多个目的地? rsync foo.png server1:foo.png server2:foo.png 这给了我一个“意外的远程arg:server1:foo.png
10 rsync 

3
Box.com云的davfs安装时rsync mkstemp失败无效参数(22)
根据这些说明,我使用davfs安装了Box.com云存储。我将Box.com帐户安装在/ home / me / Cloud / Box下 我可以通过Dolphin以及通过终端访问已挂载的文件系统。这有点慢,但是我可以列出(ls)并浏览整个目录结构,而不会出现错误。 接下来,我尝试如下运行rsync: rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music 我也尝试过: rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music 和rsync命令的其他变体。该命令是通过davfs挂载将我的音乐从本地文件系统(/ home / me / Music /)复制到Box云(/ home / me / Cloud / Box / Music)。 我总是会收到很多这种形式的错误: rsync: mkstemp <filename> failed: Invalid argument (22) 一个具体的例子是: rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" …

1
允许受限制的rsync(rrsync)脚本用于带有authorized_keys的任意目录
自动备份 我想实现一个备份解决方案,将数据从Web服务器(WebServer)的各种目录复制到本地备份服务器(BackupServer)。备份应该在无人值守的情况下运行,因此我想使用基于密钥的身份验证和无密码私钥。 特权Rsync 我要备份的目录只有特权用户才能读取。我想使用rsync复制文件。我创建了一个专用的备份用户,并允许该用户使用sudo执行rsync,而无需使用visudo规则提示输入密码: backup-user ALL = NOPASSWD: /usr/bin/rsync 安全注意事项 我想通过限制备份用户可以执行的命令来提高安全性,方法是将命令列表添加到WebServer的authorized_keys文件中。我安装了这篇文章中提到的rrsync 。 command="/usr/bin/rrsync",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAA134143NzaC1yc... Rrsync需要一个子目录 与普通rsync相比,rrsync期望在授权密钥文件中提供一个子目录,如本博客文章中所述 command="/usr/share/rsync/rrsync /var/backup/client1/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa 此限制有效,但仅允许我备份一个特定的目录,即/ var / backup / client1 / 我想在rsync命令中提供要从BackupServer备份的目录。是否有可能像rsync一样使用rrsync,例如: rsync -avze ssh --rsync-path='sudo rrsync' backupuser@111.222.33.44:/media/data /backups/Server/ 附加说明 我知道,authorized_hosts中的command =“ ...”部分确实将此用户的可执行命令限制为所提供的命令,但是对于普通的rsync,我可以执行以下操作以提供要备份的路径:参数: command="/usr/bin/rsync --server --sender -vlogDtpre.is . ${SSH_ORIGINAL_COMMAND//* \//\/}" 这不适用于rrsync。 接受的解决方案 尽管从技术上说,这并不是该问题的明确答案,但我认为Gilles发布的解决方案是一种非常好的方法。我为要备份的实际目录的所有视图创建了一个根文件夹。因此,我可以安全地将身份验证限制为rrsync。 One …
10 ssh  rsync  backup 

3
有没有办法将评论放在rsync --files-from文件中?
我有一个rsync用作--files-from的文件: dir1 dir2 dir3 我希望能够像这样在每个目录条目上方添加注释: # my dir1 comment dir1 #dir2 comment dir2 #yet another comment dir3 但是rsync抱怨“没有这样的文件或目录” 到目前为止,我已经尝试过#,//,-,SPACE 有没有办法注释/禁用条目?
10 rsync 

2
如何使用tar,gzip,rsync加快对稀疏文件的操作?
我的文件稀疏。(du -h报告3G,du -h --apparent-size报告100G。)到目前为止,还不错。 现在,当我要使用压缩文件tar或使用进行网络传输时rsync,将需要3G的时间。这些工具似乎读取了所有零。 我以为以某种方式标记了漏洞,而这些工具可能以某种方式跳过了它们? 我的文件可能没有问题? 这是在缺少功能tar和rsync不看稀疏文件?我使用了tar参数--sparse,但是并没有加快速度。rsync参数也没有--sparse。 有什么方法可以在稀疏文件上加快这些工具的速度吗?

4
rsync,删除接收方已在发送方删除的文件。(但不要删除所有内容)
我想使用rsync来... 删除在接收方也已在发送方删除的文件 不删除接收方rsynced目录中的其他文件 例如,假设我有一个目录local-src: 之前: local-src本地包含... a.txt b.txt c.txt 我要同步到的内容的远程目录local-src称为remote-src。 之前: remote-src远程包含... a.txt b.txt c.txt d.txt README.md 假设我删除了一些文件local-src: 局部删除后: local-src本地包含... c.txt 如何使用rsync来确保在源位置删除的文件也可以在目标位置删除,而又不能删除在目标位置的其他文件。例如,我要在目的地放置以下物品: 本地删除后: remote-src远程包含... c.txt d.txt README.md 也就是说,a.txt并且b.txt被远程删除为好,但d.txt和README.txt被单独留在家中。 有什么办法可以使用rsync做到这一点? 编辑:判决似乎是使用rsync这可能是不可能的。有人问我为什么需要这个,所以来说明我的用例: 假设我有一个Web服务器。在该Web服务器上,我有一堆目录,比方说,我有一个目录A以及public_html从中提供网站的目录。假设我有一些自动化过程,可以在directory中生成文件A。我想rsync的(或使用其他工具同步)产生或文件更新中A的public_html目录,而不删除其他任意文件,可能是内public_html。我当然不希望rsync意外删除我的网站。 如果rsync不是完成这项工作的工具,那么其他人知道我该怎么做吗?
9 rsync 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.