标签: rsync

使用 shell 脚本检查 rsync 是否进行了任何更改

我有一个 bash 脚本,它包含 rsync 的两个目录。有时会发生变化,很可能什么都没有。

我只想在 rsync 实际进行更改(添加/更新文件)时运行命令。否则我只想跳过它。是否有我应该查看的返回响应?

unix bash rsync unix-shell

10
推荐指数
1
解决办法
5764
查看次数

rsync 只复制新文件,没有更新?

我想使用 rsync 从远程服务器复制文件。我想要

  • 只从服务器复制文件,不推回任何文件。
  • 复制不存在的文件。如果远程文件更新我希望复制
  • 让它自动。这每次都会提示我输入密码,我希望它由 cron 运行。那么如何在 cron 执行的 bash 脚本中运行它呢?

linux rsync

10
推荐指数
1
解决办法
2万
查看次数

ZFS 同步通过不可靠的慢速 WAN。ZFS 复制还是 rsync?

我的任务是通过 WAN 进行异地备份工作。两个存储盒都是基于 FreeBSD 的运行 ZFS 的 NAS 盒。

每周一次或两次,15-60 演出的摄影数据被转储到办公室 NAS。我的工作是找出如何使用非常慢的 DSL 连接(约 700Kb/s 上传)尽可能可靠地在场外获取这些数据。接收盒的形状要好得多,下行速度为 30Mb/s,上行速度为 5Mb/s。

我知道,在异地携带硬盘驱动器可以更快地移动数据,但在这种情况下它不是一种选择。

我的选择似乎是:

  • ZFS 通过 ssh 增量发送
  • 同步

rsync 是一个久经考验的解决方案,并且具有在某些事情中断时恢复发送的非常重要的能力。它的缺点是迭代许多文件并且不知道重复数据删除。

ZFS 快照发送可能会传输更少的数据(它对文件系统了解更多,可以执行重复数据删除,可以比 rsync 更有效地打包元数据更改)并且具有正确复制文件系统状态的优点,而不是简单地复制单独的文件(这更占用磁盘空间)。

我很担心 ZFS 复制性能 [1](尽管那篇文章已经发布了一年)。我还担心如果出现问题,能否重新开始传输——快照功能似乎不包括这一点。整个系统需要完全不干涉。

[1] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replication.html

使用任一选项,我应该能够通过将流量路由到指定端口,然后在路由器上使用 QOS 来降低流量的优先级。我需要避免在每次传输期间对两个站点的用户产生重大负面影响,因为这需要几天时间。

所以……这就是我对这个问题的看法。我错过了任何好的选择吗?有没有其他人设置过类似的东西?

freebsd backup zfs rsync wide-area-network

10
推荐指数
2
解决办法
2万
查看次数

rsync 是否覆盖新文件

我用 rsync -avh

我只想知道目的地上的文件是否已经存在,rsync 是否会覆盖新文件

rsync

10
推荐指数
1
解决办法
3万
查看次数

通过远程 SSH 连接使用 rsync 时在远程路径中转义空格

当使用 SSH 将 rsync 连接到远程服务器时,如何在远程路径中转义空格等?一个简单的反斜杠转义本地 bash 提示符的空间,但在远程机器上,该空间被读取为路径中的中断,从而标记该路径的结尾。

因此,当我这样rsync -avz /path/to/source/some\ dir/ user@host.tld:/path/to/dest/some\ dir/做时,远程服务器正在读取它/path/to/dest/some/,因为它无法远程找到该目标,因为实际目标是“某个目录”而不仅仅是“某个”。

如果我尝试相同的命令并转义反斜杠和空格以通过本地 bash 提示符并维护远程服务器的反斜杠(总共三个反斜杠:)/path/to/dest/some\\\ dir/,它确实将反斜杠发送到远程服务器,但远程服务器然后将路径解释为/path/to/dest/some\/而不是/path/to/dest/some\ dir/仍然剥离空格和它后面的字符。

如果我尝试用引号包裹路径,它的行为方式几乎相同,有效地在空格处切断路径。所以它也只能通过本地 bash 提示。

最初我使用的路径中有一个“ - ”(空格-连字符-空格)段,远程服务器返回一个错误rsync: on remote machine: -: unknown option,这是整个空间转义努力的开始。

那么我必须做些什么才能使远程服务器正常工作,而不必从远程路径中删除空格或其他错误字符(如连字符)?

ssh bash rsync remote path

10
推荐指数
2
解决办法
1万
查看次数

传输大量文件的最快和最可靠的方法是什么?

我正在尝试传输大约 10 万个文件,总共 90GB。现在我正在使用 rsync 守护进程,但它的速度很慢,只有 3.4mb/s,我需要多次这样做。我想知道我有哪些选项可以最大程度地通过互联网实现 100 兆位的连接并且非常可靠。

rsync file-transfer

10
推荐指数
5
解决办法
1万
查看次数

服务器迁移:最有效的方式

我的任务是在服务器(两个不同的主机)之间迁移我们的站点之一。两个环境都是linux。

该站点流式传输视频,因此服务器当前充满了媒体文件(图像和视频)。我的第一个想法是我们会使用 rsycnc 来传输所有内容,但我希望尽可能高效并尽快完成所有工作。我想你们中的一些人可能对如何加快进程有建议,或者 rsync 是否是这里的正确选择。

提前致谢。抱歉我对系统管理员的知识有限...

编辑:我们在一个基本的 LAMP 堆栈(centos)上运行,并在机架空间上移动到红帽)。

linux rsync migration

10
推荐指数
2
解决办法
382
查看次数

rsync - 排除除少数目录之外的所有目录

似乎有很多关于此的 SF 和 SO 问题,但似乎没有一个符合我的要求。

source_dir/
  some_dir/
  another_dir/
  some_file.php
  some_other_file.txt
  include_this_dir/
  include_that_dir/
  yet_another_dir/
Run Code Online (Sandbox Code Playgroud)

所以我想 rsync 其中两个目录,同时排除其余的。排除这两个目录以外的所有目录很重要,因为可能有其他文件在以后添加到 source_dir 中,需要在未明确列出的情况下将其排除。

我试过:

rsync -av --dry-run --delete --exclude="source_dir/*" (or just "*") --include-from="include.txt" source_dir dest_dir
Run Code Online (Sandbox Code Playgroud)

我的 include.txt 有

  include_this_dir/
  include_that_dir/
Run Code Online (Sandbox Code Playgroud)

我也尝试添加

  source_dir/
Run Code Online (Sandbox Code Playgroud)

没有喜悦。什么都不包括在内。

rsync

10
推荐指数
1
解决办法
1万
查看次数

使用 rsync 保留文件和文件夹权限

我使用以下命令维护我的电子邮件帐户的备份:

sudo rsync -av --delete --progress -e "ssh -p pNumber" --rsync-path="/usr/bin/rsync" /vmail/ user@my_backup_server:/home/user/backups/vmail/

来源:大多数电子邮件文件夹归用户所有vmail

目标(备份服务器):系统没有名为 的用户vmail

我的问题是,即使目标机器没有名为 的用户,上述命令是否会保留文件和目录权限vmail?即使两台机器之间的用户名不同(备份服务器上缺少一些用户名),是否可以将文件和权限从目标完全恢复到源。

linux backup permissions rsync

10
推荐指数
2
解决办法
1万
查看次数

如果在源文件夹中删除了本地文件,rsync 是否会删除它们?

这是我想要做的:

从本质上讲,将文件从一个网络存储设备同步到另一个网络存储设备。

解决方案是将源网络存储 rsync 同步到本地机器。然后从本地机器 rsync 到目标网络存储。

但它只是击中了我。我需要在本地计算机上删除从源网络存储中删除的文件。rsync 是否会镜像它们,删除不在目标上的文件?或者它只是减少了所需的数据传输量?

希望我说清楚?

linux backup rsync

9
推荐指数
1
解决办法
7779
查看次数