标签: rsync

Rsync 并确保在应用更改之前已传输所有文件

我想知道是否有办法告诉 rsync 仅在文件列表中的所有文件传输成功时才应用更改(删除、覆盖、创建)。

只是为了澄清,这本质上是围绕转移进行交易。

linux rsync

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

使 rsync 不区分大小写

我正在 Windows 和 Linux 系统之间同步一堆文件。由于并非所有 Windows 都关心大小写,因此 Windows 系统上的某些文件不再具有与 Linux 系统上相同的大小写。但是 rsync 现在将这些文件视为不同的文件并上传新副本。

是否可以让 rsync 忽略这种情况?

windows linux rsync

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

中国防火墙的问题(或其他奇怪的网络问题)

我们会定期将应用程序部署到位于中国(来自加拿大)的计算机。我们使用 Subversion 部署更改——我们说的是大约 100Mb 的差异。我们注意到速度很好,直到它们突然停止并最终超时。之后立即重试显示相同的超时。等待几个小时并重试将使下载继续进行,但最终会像第一次那样超时。

如果我们使用 FTP 传输文件,则一切正常。如果我们通过 rsync 传输,我们通常会遇到同样的问题。似乎任何传输差异信息而不是完整传输的内容都会导致问题发生。

我不知道这是中国强大的防火墙启动还是其他一些中间网络正在限制连接到杀死它的地步。

  1. 你能推荐任何工具来帮助我检测是否真的如此。
  2. 是否有任何工具可以使 svn 更新不那么健谈以避免被标记为可疑流量?(预先协商需要发送的内容并将其全部完成)?

networking ftp firewall rsync svn

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

Windows 上的 Rsync:权限被拒绝 (13)

我有一个 Windows 7 机器和一个 Ubuntu 服务器,我需要在它们之间同步文件。我的计划是在 Windows 机器上使用在 cygwin 中运行的 Rsync,脚本如下:

cd E:/User/
rsync -avz --delete -e "ssh -p 2221" Pictures/* user@sub.host.com:/Path/to/Files/
rsync -avz --delete -e "ssh -p 2221" user@sub.host.com:/Path/to/Files/* Pictures/
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样做时,rsync 会为每个文件或目录吐出这样的错误

rsync: recv_generator: fail to stat "/path/to/file/file.jpg": Permission denied (13)
rsync: recv_generator: mkdir "/path/to/file/": Permission denied (13)
Run Code Online (Sandbox Code Playgroud)

我通过 ssh 连接到服务器的用户有权drwxrwxrwx访问该目录(根据ls -la)。知道如何解决这个问题吗?

windows-7 rsync ubuntu

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

rsync 对加密文件有用吗?

rsync 传输加密文件是否有效?进一步来说:

  • 我用我的公钥加密“x”并将结果称为“y”。
  • 我 rsync 'y' 到我的备份服务器。
  • “x”略有变化
  • 我加密修改后的“x”并将修改后的“y”同步到我的备份服务器。

这有效率吗?我知道“x”的微小变化会导致“y”的巨大变化,但这种变化是局部的吗?或者 'y' 改变得如此彻底以至于 rsync 并不比 scp 好多少?

我目前通过每晚对它们进行 tarring/bzip 来备份我的“关键”文件,然后加密 .tar.bz 文件并将其同步到我的备份服务器。

许多单个文件不会更改,但是,当然,即使其中一个文件发生更改,tar 文件也会更改。

这有效率吗?我应该单独加密和备份每个文件吗?这样,未更改的文件将无需时间进行 rsync。

编辑以添加更多信息:

  • 来源是我的家用机器。我拥有它并认为它是安全的。

  • 目标是共置服务器。这是我的,但托管公司可以看到该机器硬盘上的任何/所有网络流量和任何内容。

  • 源的可用空间很少。我不想通过在其上存储加密备份来将其空间减半。

  • 目标空间很大。

基于这些新信息的任何想法?

encryption backup rsync

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

如果磁盘出现故障,rsync --delete 是否安全

我的 Linux 服务器上有两个数据硬盘驱动器,我使用第二个作为第一个驱动器的备份。
我为此目的使用rsync。一个例子是:

rsync -r -v --delete /media/disk1/ /media/disk2/
Run Code Online (Sandbox Code Playgroud)

它的作用是将每个文件/目录从/media/disk1/复制到/media/disk2/但同时删除任何差异。例如,假设文件 A 和 B 但不是文件 C 在disk1 上,而在disk2上没有 A 和 B 文件,但有 C。结果将是在disk2上的命令之后我有文件 A和 B,但文件 C 将被删除,就像在disk1 上一样

现在,一个相当灾难性的场景出现在我的脑海中。如果 disk1 死机,系统会继续工作,因为系统文件在我的系统磁盘上,但是当 rsync 尝试从损坏的disk1备份我在disk2 上的数据时,它会删除所有文件disk2因为它无法读取disk1 上的任何内容。

这是一种可能的情况,还是在rsync 中对其进行了保护?

linux backup rsync

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

如何使用 RSYNC 获取未更改的文件硬链接和附加文件复制到本地 + 附加?

我试图找出一种使用 rsync(一次或多次)和可能的其他命令(例如 cp -lr)来完成以下操作的方法:

  1. 将远程文件夹 A 同步到本地文件夹 B
  2. 我已经有一个本地文件夹 C,它是 A 的先前同步
  3. 我希望在 C 和 A 之间未更改的文件在 B 中创建为硬链接
  4. 我希望将 A 中的新文件传输回 B
  5. 我希望已在 A 中删除的文件,而不是在 B 中进行硬链接或硬链接后删除。
  6. 我希望 A 中已修改(通过附加数据)的文件从 C 本地复制到 B,并且只传输附加字节并将其附加到新副本。

我知道的一些限制可能有助于找到解决方案:

  • A中有两种文件:
    1. 不可变的,要么是新建的,要么是删除的。
    2. 可变的,总是通过附加数据来修改,也可以删除。
  • 这两种文件很容易区分,因为每个组都有一个固定的前缀,因此任何命令都可以针对任一组或两者。

我目前的解决方案是使用

rsync -av --link-dest C remote:A B
Run Code Online (Sandbox Code Playgroud)

但这有一个缺点,即附加文件被完全传输,体积增加了 10 倍以上。

欢迎对此解决方案进行任何改进,如果所有传输都使用 rsync 完成,效果会更好。

注意:使用几轮 rsync 来实现它是可以的,只要 C 没有改变,在这种意义上缺乏原子性就不是问题。

linux sync rsync file-transfer command-line

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

Truecrypt Rsync 容器

有没有一种增量同步 truecrypt 容器的好方法?我目前有大型容器 (200gb+),我想找到一种方法来备份它们而不必安装它们。Rsync 似乎无法增量同步,而是每次尝试重新传输整个容器,即使容器内只有一个文件发生更改。

是否有一些 rsync 补丁或某些特定选项可以使 rsync 看起来更难找出差异而不是传输整个文件?或者,有没有更好的工具来做到这一点?

backup rsync truecrypt incremental-backup

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

不要复制导致输入/输出错误的文件

使用cp、rsync或scp从故障硬盘复制文件时,无法再读取的故障文件也会部分复制到目标目录中。

是否有选项可以在复制时自动跳过或删除目标驱动器上导致输入/输出错误的文件?

rsync file-transfer scp cp

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

rsync 与 Cygwin 创建奇怪的目录

我正在尝试使用 rsync 将数据从本地共享驱动器备份到删除服务器。本地机器和远程服务器都在 Windows XP 下运行 Cygwin。我使用以下命令:

rsync -aze ssh --size-only --delete //SharedFolder/dir/subdir user@remoteserver:/cygdrive/c/dir

问题是,不是将文件复制到 subdir 目录,而是创建了一个名为 subdir? 的新目录,其中 ? 是一个非 ascii 字符。我在目标或远程路径的末尾尝试了 / 的各种组合,结果总是相同。

如何告诉 rsync 不要创建这个奇怪的新目录?

cygwin rsync

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