标签: rsync

rsync 协议不兼容

使用以下命令从远程服务器执行 rsync 拉取时:

/usr/bin/rsync -av -e ssh --delete --chmod=a+rwx,g+rwx,o-wx --dry-run username@server:/remote/path/ /home/dir/local/path
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

receiving file list ... Invalid flist flag: 1004
rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7]
Run Code Online (Sandbox Code Playgroud)

从远程到本地执行反向操作(即 PUSH)时,我得到以下信息:

building file list ... Invalid flist flag: 1004
rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(468) [sender=2.6.8]
Run Code Online (Sandbox Code Playgroud)

我已经尝试将参数一一删除,似乎与 -a 标志有关

环境

# local machine
Linux …
Run Code Online (Sandbox Code Playgroud)

linux unix rsync

6
推荐指数
2
解决办法
9564
查看次数

Unison 同步工具是否有全局配置文件?

我希望我所有的一致配置文件都有

merge = Name * -> meld CURRENT1 CURRENT2
diff = /usr/bin/meld CURRENT1 CURRENT2
confirmmerge = true
Run Code Online (Sandbox Code Playgroud)

作为选项。我知道我可以添加这些选项到每个.prf文件中~/.unison/,但其所有齐声配置文件的全局配置文件将是可取的。有这样的文件吗?

synchronization configuration rsync file-transfer unison

6
推荐指数
1
解决办法
1297
查看次数

rsync/ssh/rsnapshot 备份——远程脚本执行

我的配置文件中有以下设置:(/etc/rsnapshot.conf)

脚本/工具:http : //www.rsnapshot.org/

backup_script   ssh     root@host.domain.com "sh /home/user/backup_mysql.sh"     ./mysql
Run Code Online (Sandbox Code Playgroud)

该示例显示以下内容:

backup_script  ssh root@example.com "mysqldump -A > /var/db/dump/mysql.sql"    unused2
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

ERROR: backup_script /usr/bin/ssh returned 255  
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

linux backup ssh rsync rsnapshot

6
推荐指数
1
解决办法
4277
查看次数

无法通过 sftp 进行 rsync 工作

我正在尝试使用 rsync 和 sftp 设置从 Ubuntu 服务器到 Synology NAS (DS413j) 的备份系统。

我为此创建了一个用户,我们可以将其称为 ubuntu-backup。我在 ubuntu-backup 主目录中有一个名为 www 的目录,用于保存备份。我在 DSM 中启用了网络备份用户 ubuntu-backup 对其主目录具有完全访问权限

这是我在 Synology NAS 上的 rsync 配置文件:

#motd file = /etc/rsyncd.motd
#log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no
[NetBackup]
path = /var/services/NetBackup
comment = Network Backup Share
uid = root
gid = root
read only = no
list = yes
charset = utf-8
auth users = root
secrets file = /etc/rsyncd.secrets …
Run Code Online (Sandbox Code Playgroud)

ubuntu network-attached-storage rsync sftp synology

6
推荐指数
1
解决办法
5297
查看次数

我应该在千兆 LAN 上使用 rsync 压缩吗?

在通过 Internet 传输文件时,我通常使用 rsync 的 -z 选项来启用压缩。但是,如果我在自己的(空闲)千兆局域网上,我还需要压缩吗?还是没有它会更快?这取决于哪些因素?(我还没有做过任何基准测试)。

所以基本上,是否更快:压缩+传输+解压缩,或者只是传输未压缩?

如果您的网络连接速度很慢,压缩显然更好……但是如果一切都在千兆以太网网络上运行呢?

networking compression local-area-network rsync file-transfer

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

rsync + 公钥认证安全

我已经阅读了几篇如何使用 Rsync 和公钥身份验证自动备份文件的文章。它们都非常相似。我刚刚完成了所有设置,一切正常,但是...我刚刚发现一篇文章说它不安全。我做了以下事情:

  1. 在备份服务器上,我生成了公钥和私钥。
  2. 我将公钥复制到远程(原始)服务器目录:(/var/sites/.ssh文件authorized_keys)。该目录归"user12"
  3. 我在authorized_keys文件中添加了以下内容: from="BACKUP.SERVERS.IP.ADDRESS",command="/root/validate_rsync"
  4. 我创建了一个文件 /root/validate_rsync ,内容如下:

    #!/bin/sh
    echo $SSH_ORIGINAL_COMMAND >> /var/log/synchronize-log.log
    case "$SSH_ORIGINAL_COMMAND" in
    *\&*)
    echo "Rejected"
    ;;
    *\;*)
    echo "Rejected"
    ;;
    *\(*)
    echo "Rejected"
    ;;
    *\{*)
    echo "Rejected"
    ;;
    *\<*)
    echo "Rejected"
    ;;
    *\>*)
    echo "Rejected"
    ;;
    *\`*)
    echo "Rejected"
    ;;
    *\|*)
    echo "Rejected"
    ;;
    rsync\ --server*) 
    $SSH_ORIGINAL_COMMAND
    ;;
    *)
    echo "Rejected"
    ;;
    esac
    
    Run Code Online (Sandbox Code Playgroud)

我运行 rsync 命令:

rsync -avzp --del -e "ssh -p 2211" user12@ORIGINAL.SERVERS.IP:/var/sites/photos/ /var/sites/sync/photos
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:文件权限问题/root/validate_rsync。我将文件/root/validate_rsync …

rsync ssh-keys

6
推荐指数
1
解决办法
3419
查看次数

rsync: mkdir "2014-11/." 失败:没有这样的文件或目录(2)

我正在编写一个脚本,用于使用 rsync 从 server-a 到 server-b 自动复制文件,这是我的脚本:

#!/bin/bash
NOW=$(date +"%Y-%m")
rsync -au --ignore-existing /var/www/uploads/$NOW/* -e root@1.1.2.2:/var/www/uploads/$NOW/.
Run Code Online (Sandbox Code Playgroud)

当我们下个月(例如从 10 月到 11 月)时,我的脚本出现此错误:

`

rsync: mkdir "/var/www/uploads/2014-11/." failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(605) [Receiver=3.0.9]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
Run Code Online (Sandbox Code Playgroud)

`我应该如何解决这个错误?请帮我

ubuntu rsync

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

为什么 FileZilla SFTP 文件传输最大上限为 1.3MiB/秒,而不是使可用带宽饱和?rsync 和 WinSCP 甚至更慢

我正在从服务器下载,使用 FileZilla 的下载速度最高为 1.3MiB/秒,但我可以开始并发下载,它们也将以 1.3MiB/秒的速度下载。那么为什么我不能以超过 1.3MB/s 的速度仅下载一个文件并接近饱和可用带宽(~6+MB/s)?

我知道我可以使用其他一些支持分段下载的 SFTP 客户端,例如 lftp,知道其他开源的好客户端吗?

但我仍然想知道是什么限制了一个文件的下载速度为 1.3MB/s,是 TCP 和缓冲区等的一些技术限制还是一些配置问题?我检查并确定根本没有为 FileZilla 启用流量限制。

我也试过 rsync,它比 FileZilla/SFTP 更糟糕。我也尝试过 WinSCP,无论使用哪种 SCP/SFTP 方法,它都是最慢的。因此,与其他传输方法相比,FileZilla 以 1.3MB/s 的恒定传输速度相当不错。

如果有人对为什么传输峰值为 1.3MB/s 有很好的解释,我真的很想知道,以及是否可以在不诉诸分段下载的情况下增加这一点。服务器正在运行 OpenSSH 6.7p1 (Debian) 客户端是 Windows 上的 FileZilla。

更新:为了响应 Martin 的信息(见下面他的回答),我补充说服务器和正在下载的客户端之间的 ping 是 180 毫秒到 190 毫秒。此外,cpu 使用率非常低,最多 2% 到 8%。我尝试了最新版本的 winscp 5.73 和 sftp 模式,我得到了 555kb/s 和大约 805kb/s 最大的 scp 模式。而如果我在 Filezilla 中启动辅助并发传输,我也会得到恒定的 1.3MiB/s。

那么,正如 Martin 和 Michael 所提到的,服务器的 180 毫秒延迟是否会成为数学上的限制因素?或者还有什么可以归咎于我可以提高吞吐量?如果没有,如果有人知道任何其他(如 lftp 但在 Windows 上运行良好)开源下载器,它是安全的并支持分段下载,我将不胜感激。

ssh rsync sftp scp winscp

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

Rsync - 设置 rsync 用户及其权限

我将在两个网络服务器之间设置 rsync。我的目标是从我的主服务器上备份数据,以防主服务器崩溃。我的问题与在主服务器上为 rsync 目的设置用户帐户有关。

出于显而易见的原因,我不想在这里使用我的“root”用户帐户。因此,我的目标是设置另一个仅用于 rsync 目的的帐户。据我了解,该用户需要对我需要传输的所有文件(apache 配置、用户 linux 文件、www-data)具有读取权限。

如何最好地设置此类权限?我应该授予 rsync 用户 root 权限还是有任何更安全的方法来为此类备份创建用户?

security rsync user-permissions

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

gsutil rsync 上的同步阶段很慢?

我刚刚开始使用 GCS 作为我的网络服务器的备份。一台服务器有 120 万个 JPEG(3.5TB),并且所有这些都在 10 个小时左右的时间内完美同步。

另一个有 250 万个 JPEG(尽管只是缩略图/预览 - 总共 300GB)。我第一次这样做时,“构建同步状态”很快就完成了 250 万次。几分钟。虽然我的会话被中断了(wifi 掉线了),当我通过 SSH 尝试再次运行它时,“在源列表中”提示迅速咬住了 10000、20000、30000。然后几乎停止了。半小时后,才到了三十万。我知道它也必须确定目的地有哪些文件,但我认为这不会显着减慢“在源列表中...”的回声?

它是否表明我的文件系统有问题,如果是,我应该检查什么?

还是出于某种原因,这是预期的行为?

尝试将 gsutil rsync 与 200 万个文件一起使用到一个存储桶中是个坏主意吗?我找不到谷歌关于一个存储桶中可以放置多少文件的指南,所以我假设它是数十亿/无限的?

FWIW 文件都在嵌套的子目录中,任何一个目录中的文件都不超过 2000 个。

谢谢

编辑:我使用的确切命令是:

gsutil -m rsync -r /var/www/ gs://mybucketname/var/www
Run Code Online (Sandbox Code Playgroud)

rsync google-cloud-storage google-cloud-platform gsutil

6
推荐指数
1
解决办法
2701
查看次数