默认情况下,rsync 使用 ssh 作为传输层。不幸的是,对于快速的本地网络,ssh 非常慢。是否可以将 rsync 与 netcat / nc 一起使用?
我做了一些实验,但它对我不起作用。我想消除 ssh,因为它是瓶颈。
当然,我想在 Linux 上使用它。
我想复制几个文件夹并出于历史原因保留其修改日期,而不是更改我习惯的排序。我尝试使用带标志的 rsync 来保留时间和查找器“准确粘贴项目”。
对于文件来说,这工作正常,但似乎 macOS 或查找器或其他任何东西仍然会修改文件夹的“修改时间”日期。
有没有办法复制我的文件夹并保留修改日期?
编辑:添加了我已经使用 rsync 的说明--times --archive
我目前设法在 ubuntu 服务器 18.04 上获得一个简单的 rsync 设置,它执行以下操作:
我想让它做的是
我无法找到一种方法来做到这一点,如果在源处丢失,只能在目的地立即删除。
当前 rsync 命令是: rsync -e 'ssh -p 22' -apv --info=progress2 /data/* server-2:/data
当我进行备份时,基本上是在 rsync 选项中寻找保留期。
作为 macOS 的长期用户,我使用过内置/捆绑的 rsync 二进制文件,但由于各种许可原因,该二进制文件一直停留在 2.6.9 版本。
\n我最近决定开始通过 Homebrew 使用现代 rsync。一切工作正常,但我无法弄清楚的一件事是如何在同步期间获得详细输出,但保存的日志仅显示更新/更改的文件。
\n这是 rsync 2.6.9 的默认行为,我不知道如何在 rsync 3.x 中做同样的事情。这是一个例子:
\nrsync -avv --progress --stats --log-file=rsync.log /source/ /dest/\nRun Code Online (Sandbox Code Playgroud)\n在 rsync 2.6.9 中,由于 double vv,同步期间的 STDOUT 很详细,并显示所有内容,但该rsync.log文件仅显示哪些文件被更新/更改/删除。但我不知道如何在 rsync 3.2.3 中实现同样的事情。
我广泛地查看了手册页,但我不清楚如何更改它。我看到很多关于使用该--itemize-changes开关的帖子,但这似乎会影响 STDOUT 和日志。
我也看到了--log-file-format开关,但这似乎只影响日志每一行的格式,而不影响实际吐出的内容。
所以我本质上想做的是查看详细的 STDOUT,然后抑制uptodate日志中的所有消息。这可以在现代 3.x rsync 中完成吗?
当没有文件可供 rsync 传输时,为什么 rsync 会给出不同的输出,即 ( xfr#0) 从硬盘到硬盘的 rsync 与从 USB 闪存驱动器到硬盘的 rsync?
使用:
所有目录都是同步的,都是最新的。因此,没有文件可供 rsync 传输,这意味着xfr#0第二次运行 rsync 时 ( )。
示例1脚本:
src1='/media/u3/d_HDD931GB/TemP'
dest='/media/u3/s_HDD931GB/1/TemP'
tput setaf 2 ; echo "$src1 $dest" ;
tput setaf 1 ; test ! -d "$src1" && echo "ErrorS" ; test ! -d "$dest" && echo "ErrorD" ; tput setaf 2 ;
time rsync -ah --delete-before --info=progress2 "$src1/" "$dest" --out-format='%t %i %C %b %n %l …Run Code Online (Sandbox Code Playgroud) 我有一个树莓派 4,想用它作为家里的备份服务器。现在我不确定如何执行此操作,我有一个连接到 pi 的加密磁盘,我想使用 SSH 和 rsync 进行增量备份。但是我应该将文件从我的笔记本电脑推送到 pi 还是 pi 应该从我的笔记本电脑中提取文件?
1. 拉动
a) +笔记本电脑没有备份的写权限,这样更安全
b) - pi 和加密但已安装的磁盘始终在家中,有人可以通过物理访问来使用它来访问数据吗?
c) -与 1.b 类似,pi 需要完全访问我的笔记本电脑,它可能会损坏我笔记本电脑上的某些东西,我会尝试使用 ssh 强制命令,这样它只能读取而不能写入
2. 推
a) +只有我的笔记本电脑可以完全控制,磁盘密钥和 ssh 连接仅在我的笔记本电脑上
b) -我可能会损坏备份,勒索软件或其他任何东西都可能会损坏我的备份。我不确定是否可以使用 ssh 强制命令来阻止这种情况?!
我一直在使用 rsync 在我的两台服务器之间同步一堆文件。我设置了一个每分钟运行一次 rsync 的 cron 作业。但是,我更希望它始终运行,以便文件在更改时同步。什么是最好的方法来做到这一点?
谢谢。
我正在创建一个脚本来在两个系统之间同步我的重要文档。我希望我的脚本为最后一个操作生成一个日志文件。你能建议我一种方法来实现这一点。
问题:如果我使用 -v 标志执行 rsync 命令,它将在控制台上打印大量消息。有什么办法。那么,我可以将这些日志重定向到一个文件吗?
Rsync 仅复制文件的更改部分。因此,如果我有一个大数据转储,例如文本格式的 SQL 数据库,并且我想使用尽可能少的带宽将其复制到我的本地计算机,我该怎么办?
我可以将其保留为未压缩的文本并使用带有 -z 开关的 rsync,或者我可以在服务器上对其进行 gzip 并 rsync 对 gzip 文件进行同步。
我怀疑源 SQL 文本文件中的微小更改可能会导致压缩 gzip 版本中的数据出现更大的混乱,因此随着更多文件的更改,rsync 将不得不做更多的工作。
此外,由于 -z 开关无论如何都在执行压缩,因此这可能是最有效的。但是,我不确定。
rsync ×10
linux ×4
backup ×3
logging ×2
ssh ×2
copy-paste ×1
finder ×1
gzip ×1
hard-drive ×1
macos ×1
netcat ×1
raspberry-pi ×1
ubuntu ×1
usb ×1