标签: rsync

是否可以从命令行对 scp/sftp/rsync/etc 传输进行速率限制?即,单个命令上的手动 QoS?

具体来说,我希望对呼叫本身中scpsftp会话(或其他任意网络呼叫)进行速率限制。

例如,假设我想将 100MB 复制到一台服务器,将 1GB 复制到另一台服务器。我希望能够同时运行这两个,但保持“正常”计算机使用的 QoS - 有点类似于您如何限制 bittorrent 的速率。

有没有办法在不接触网络硬件的情况下做到这一点?

我正在设想类似于:

magic-qos-tool 'scp file user@host:/path/to/file'
Run Code Online (Sandbox Code Playgroud)

或者..

scp -rate 40kbps file user@host:/path/to/file
Run Code Online (Sandbox Code Playgroud)

bandwidth rsync scp sftp qos

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

Rsync to-check 在备份期间增长

我目前正在将大约 40 Gigs 的文件从外部磁盘传输到我的硬盘驱动器,并且 rsync 进度输出总是显示类似

... to-check=1100/24094)
... to-check=1099/24094)
Run Code Online (Sandbox Code Playgroud)

但是在转移过程中,第二个数字会增长,而第一个数字永远不会低于 1000。

... to-check=1200/27199)
... to-check=1199/27199)
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑 - 转移何时真正结束?

编辑:好的,在某些时候它结束了。不过,是什么导致了这种行为?

rsync

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

rsync 显示/隐藏过滤规则与包含/排除有何不同?

我正在编写一些密集的 rsync 脚本,我真的很想了解我可以使用的选项。一般而言,手册页是提供信息的最佳场所,其文笔密集而准确。一个值得注意的遗漏是showhide过滤器的描述。它们出现在此表中的以下FILTER RULES部分:

exclude, -指定一个排除模式。
include, +指定包含模式。
合并,。指定要读取更多规则的合并文件。
dir-merge, :指定每个目录的合并文件。
hide, H指定用于在传输中隐藏文件的模式。
显示,匹配模式的S文件不会被隐藏。
保护,P指定保护文件不被删除的模式。
风险,匹配模式的R文件不受保护。
清除, !清除当前的包含/排除列表(不带参数)

唯一的其他参考在规则修饰符描述部分:

s 用于指示规则适用于发送方。什么时候
规则影响发送方,它阻止文件被传输
费雷德。默认情况下,规则会影响双方,除非
--delete-excluded  已指定,在这种情况下,默认规则变为
仅发送方。另请参阅隐藏 (H) 和显示 (S) 规则,它们是
指定发送方包含/排除的替代方法。

这似乎表明它们是相同的,但仅限于发送方。这是唯一的区别吗?这有什么影响?它是否只影响处理删除的方式?

rsync

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

适用于 Windows 的实时 rsync/目录监视器?

现在,我们有一个中央 Linux 服务器和几个分散在该地区的卫星 Windows 服务器。每隔 15 分钟,Linux 服务器就会从其他服务器(通过 Cygwin 运行 cwrsync 守护程序)rsyncs 文件。但是,其中之一的目录树现在超过 85GB 和 400,000 个文件。这比扫描目录中的更改花费的时间要长得多,超过 15 分钟;与扫描相比,实际传输时间微乎其微。

Windows 有什么东西可以监视特定的树并实时传输任何更改,或者将它们排队每隔几分钟传输一次,而不必每次都对整个树进行批量扫描,并且最好在 Linux 系统上执行此操作通过rsync?lsyncd 似乎适合它,直到我意识到它适用于 Linux,而不是 Windows。

windows rsync

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

Rsync 作为另一个用户 (www-data)

我通常使用图形 SSH 客户端来同步本地和远程目录。而且我必须将所有文件的所有权设置rootwww-data.

我可以对 Rsync 做同样的事情,只是我这样做www-data而不是root,这样我就不必在之后设置所有权?

linux rsync

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

rsync 仅文件而不是目录

我希望将我的便携式计算机与我的 Maemo 智能手机同步,仅用于我的工作目录(顶级文件夹)中的文件。我该怎么做才能更正我的 rsync 命令以同步源文件夹而不是目录中的文件?

rsync -va --no-r --no-R --no-d /home/Xtian/ /run/media/486D-8336/
skipping directory.
sent 10 bytes  received 12 bytes  44.00 bytes/sec
total size is 0  speedup is 0.00
Run Code Online (Sandbox Code Playgroud)

默认情况下,该命令以详细和存档选项开头。然后我尝试关闭递归、相对和目录。换句话说,不要跟随树,不要复制树,实际上甚至不要理会文件夹。

rsync

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

rsync 无法删除非空目录

同步我的远程备份时出现错误rsync cannot delete non-empty directory

我知道原因:我排除了一些文件,当 rsync 尝试删除远程目录时,因为它在本地不存在,它不能,因为它不是空的。如果没有排除,目录将被清空。

我也知道我可以通过使用 --delete-excluded 来解决这个问题,但这不是我想要的。

我想跳过上传某些文件(因为它们对于我的上传速度来说太大了),但我想保留那些我已经上传的文件,如果它们存在于本地。如果它们在本地不存在,则应将其删除。--delete-excluded 将在远程端删除它们。

这也意味着如果一个目录在本地不再存在,即使它包含排除的文件也应该被删除。

是否可以设置 rsync 来完成此操作?

linux rsync

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

如何在保留 ACL 的同时使用 rsync 将 Time Machine 卷复制到另一个磁盘?

最近,我不得不将 Mac 的文件系统从保留大小写更改为完全区分大小写。我通过使用 CCC 并将数据复制到另一个磁盘,然后返回到新格式化的主磁盘来做到这一点。

现在,我想在我的旧 Time Machine 磁盘上进行 Time Machine 备份,该磁盘托管在我的基于 FreeBSD 的 NAS 上,通过 AFP 导出。但是,我收到文件系统不匹配的错误,因为 Time Machine 仍然具有不区分大小写的 fs。这一次,我不能使用 CCC,因为它不支持 Time Machine 卷的文件级复制。

自然地,我直接选择了 rsync,但这会引发一个问题——如果我使用以下命令运行它:

/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/
Run Code Online (Sandbox Code Playgroud)

它一碰到Backups.backupdb/<machinename>文件夹就开始抱怨,带有failed to set permissions, operation not permitted. 这里的问题是复制 ACL,这是非常严格的:

 ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/
 drwxr-xr-x@ 19 root  staff  646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
Run Code Online (Sandbox Code Playgroud)

所以,我-A从上面的命令中删除了,rsync 现在很高兴地移动 GB 的数据。

唉,我也想保留 ACL。这有可能吗?OS X 没有 …

rsync acl macos

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

Linux命令行为rsync创建日志文件

我正在尝试在执行 rsync 后创建一个日志文本文件。我试过使用命令行:

rsync -av /source/ /dest/ > log.txt
Run Code Online (Sandbox Code Playgroud)

创建的文本文件仅显示源文件夹和目标文件夹之间“不同”的文件名,这与我想要的很接近。

有没有办法让我创建一个日志文件,将“不同”的文件分组到修改和创建的文件中?

linux unix rsync command-line ubuntu

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

rsync 到/从 tar 存档

是否可以使用 tar 存档(本地)rsync 真正的文件系统(远程)?如果是这样,如何?

问题是我需要正确备份用户/组/权限设置,虽然我在远程有 root 访问权限,但我想避免在本地机器上以 root 身份运行。

我的第一个(也是最重要的)用例是从 Buildroot 生成的 .tar 更新远程嵌入式目标 (ARM9)。我在磁盘上没有“真实的东西”(我可以在作为 root 时生成副本),我想避免传输整个 rootfs 来更新一些文件。

linux rsync tar

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

标签 统计

rsync ×10

linux ×4

acl ×1

bandwidth ×1

command-line ×1

macos ×1

qos ×1

scp ×1

sftp ×1

tar ×1

ubuntu ×1

unix ×1

windows ×1