标签: rsync

rsync hack 在两个未连接的服务器之间退回文件

这是连接:

[Server1] <---> [my desktop] <---> [Server2]

Server1 和 server2 不允许直接互相交谈(不要问)。但是,我的桌面能够通过 ssh 访问两台服务器。

我需要将文件从 server1 复制到 server2。

传统上,我一直在使用 ssh+tar hack,例如:

ssh -q root@Server1 'tar -vzc /path/to/files ' | ssh -q root@Server2 'tar -vzx -C /'

这很好用,但我想更进一步,通过我的桌面在两台服务器之间进行 rsync 工作。

现在我知道我可以在一个终端中启动一个 ssh 端口转发隧道,然后在另一个窗口中通过该隧道进行 rsync,但我不想在第二个终端上大惊小怪,或者创建和断开一个单独的端口转发隧道。我想要的是:

  • 通过我的桌面将文件从 Server1 rsync 到 server2 的一个 liner 命令
  • 全部在一个命令行,一个终端窗口上
  • 我希望端口转发隧道仅在 rsync 命令的生命周期内存在。
  • 我不想scp,我想rsync。

有人有这样做的技巧吗?

编辑:这是工作命令!大家辛苦了: 1. 对于 rsa 关键路径,不能使用 tildae,必须使用“/root/”。2. 这是最终的命令行:

ssh -R 2200:SERVER2:22 root@SERVER1 "rsync -e 'ssh -p 2200 -i /root/.ssh/id_rsa_ROOT_ON_SERVER2' --stats --progress -vaz /path/to/big/files root@localhost:/destination/path"
Run Code Online (Sandbox Code Playgroud)

炸药爆炸了。

linux boot rsync tar

8
推荐指数
1
解决办法
8563
查看次数

有没有办法在 Windows 上使用 plink 和 rsync?

我使用 rsync 在本地目录和远程主机之间同步文件。我还使用 plink 来自动化我的 SSH 密码输入。

我想不通的是如何将 rsync 与 plink 一起使用。这就是我认为的语法应该是:

rsync -args --rsh="plink user@remote" local_dir/ :/remote_dir
Run Code Online (Sandbox Code Playgroud)

但我收到“拒绝访问”消息。有没有办法做到这一点?简单吗?

编辑以反映我认为语法应该是什么样子。我以前犯过大错。

ssh rsync plink

8
推荐指数
1
解决办法
4424
查看次数

如何同步要在不同计算机上使用的虚拟机的两个实例?

我在桌面上使用 VirtualBox 已经有一段时间了。最近买了一个笔记本,我希望能够随身携带我的 Ubuntu 虚拟机,并将我在笔记本上所做的更改传播到桌面,反之亦然,当我到达/离开家时。两台计算机上的主机操作系统都是 Windows 7,运行 VirtualBox 4。

我的第一个想法是同步虚拟磁盘文件本身。我选择的工具是rsync,更具体地说是它的 Cygwin 版本,使用--inplace选项尽可能减少写入。但这将是不可行的:它会阻止我在 VM 上单独工作,因为rsync如果不了解容器内的文件系统,就无法检测冲突并正确合并它们。

下一个选项是rsync将正在运行的机器相互连接。这会在不搞乱包管理的情况下工作吗?除了新内核或驱动程序等更新之外,我还需要手动执行任何操作吗?有没有其他解决方案可以更好地工作?

rsync virtual-machine ubuntu

8
推荐指数
1
解决办法
5305
查看次数

rsnapshot 和 rdiffbackup 有什么区别?

是什么区别rsnapshotrdiffbackup

哪个更适合将我的笔记本电脑的新快照(通过 Internet 从某个远程位置)备份到我的服务器(已经有以前的备份)?

据我所知,它们都存储(在备份服务器上)最新的备份和许多以前版本的备份文件(以压缩的反向增量增量的形式)。他们都使用 rsync 来更快地通过互联网进行备份。

backup rsync

8
推荐指数
1
解决办法
4699
查看次数

Windows 备份客户端:开源、rsync 和 VSS

我正在寻找适用于 Windows 的同步/备份客户端:

  1. 开源许可证 (BSD/GPL)
  2. rsync deltas 到远程 rsync 服务器
  3. VSS 支持

命令行界面优于 GUI。

其他东西越少越好。

有任何想法吗?

windows backup sync rsync vss

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

rsync 统计文件数

我正在使用带有-vrlHh --delete --stats --force选项的rsync来镜像两个目录。第一个目录是源,它是我的外部高清,目标目录是空的,因为我刚刚创建了它。

我运行rsync -vrlHh --delete --stats --force my_hd dest_dir并得到这个输出。

...

2012/05/12 11:59:29 [18094] Number of files: 189315
2012/05/12 11:59:29 [18094] Number of files transferred: 178767
2012/05/12 11:59:29 [18094] Total file size: 241.57G bytes
2012/05/12 11:59:29 [18094] Total transferred file size: 241.57G bytes
2012/05/12 11:59:29 [18094] Literal data: 241.57G bytes
2012/05/12 11:59:29 [18094] Matched data: 0 bytes
2012/05/12 11:59:29 [18094] File list size: 4.08M
2012/05/12 11:59:29 [18094] File list generation time: 0.002 seconds
2012/05/12 11:59:29 …
Run Code Online (Sandbox Code Playgroud)

linux backup file-management rsync command-line

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

如何使用私钥rsync?

我正在尝试从我的 MacOS 机器 rsync 到在 Windows Azure 上运行的 Ubuntu 服务器。要 ssh 到它,我必须执行以下操作:

 $ ssh -i  myPrivateKey.key -p 22 me@me.cloudapp.net
Run Code Online (Sandbox Code Playgroud)

我认为密钥文件可能是 X509 公钥,如果有帮助的话(抱歉,我不是系统管理员)。无论如何,我可以使用上述命令成功 ssh。

现在我想将文件同步到远程服务器。我是否需要以.key某种方式提供文件作为选项?

正常的 rsync 命令失败:

$ sudo rsync -avz -e my/file me@me.cloudapp.net:/my/path
    rsync: Failed to exec my/file: Permission denied (13)
rsync error: error in IPC code (code 14) at /SourceCache/rsync/rsync-42/rsync/pipe.c(86) [receiver=2.6.9]
    rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
    rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [receiver=2.6.9]
Run Code Online (Sandbox Code Playgroud)

rsync file-transfer azure ubuntu macos

8
推荐指数
1
解决办法
9599
查看次数

Windows 上的 rsync + 非 ASCII 文件名

是否有rsync可以在当前 Windows 版本上运行并且可以处理非 ASCII 文件名的版本?我检查过的每个版本(包括 cwRsync 和 rsync.net 客户端)在名称中包含 Unicode 字符的文件上都失败了。

如果rsync不存在这样的版本,我可以使用什么其他工具来在 Windows 和 Linux 之间进行带宽高效的文件同步?

我正在通过相对较慢的链接同步大型的、很少更改的文件树。rsync 样式的同步和完整复制方法之间的区别是显着的。

windows linux rsync unicode

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

scp:如何只复制文件的最后 10%?

我在 vServer 上有一个相对较大的日志文件 (46M),我只对最近的部分感兴趣。

如何只下载文件的最后 10%?

服务器正在运行 Debian,我在本地使用 Ubuntu。

linux rsync scp

7
推荐指数
1
解决办法
7117
查看次数

当目标是 zfs 时,对于以下划线开头的文件,Rsync 失败

我在 Mac OS X 10.8.5 上使用 rsync3.1.0pre1,并尝试将一个文件夹同步到另一个文件夹。目标是通过 SMB 挂载的 ZFS 卷。

我遇到的问题是以下划线开头的文件(例如,'_filename.jpg')没有成功同步到目标。我收到以下错误消息:

rsync: mkstemp "/path/to/destination/._filename.jpg.NUgYJw" failed: Permission denied (13)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,_filename.jpg不会到达目的地。

我知道 rsync 在目标位置创建隐藏的临时文件,这些文件前面带有.随机文件扩展名。但是原始文件名以_, not开头._,并且我没有要求 rsync 复制扩展属性/资源分支(除非它总是这样做)。

我正在使用的 rsync 命令是:

rsync -av --exclude='.DS_Store' --exclude '.Trash' --exclude 'Thumbs.db' --exclude '._*' --delete /source/ /destination/
Run Code Online (Sandbox Code Playgroud)

有没有人找到解决这个问题的方法?谢谢!

backup rsync zfs command-line macos

7
推荐指数
1
解决办法
1568
查看次数