使用以下命令从远程服务器执行 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) 我希望我所有的一致配置文件都有
merge = Name * -> meld CURRENT1 CURRENT2
diff = /usr/bin/meld CURRENT1 CURRENT2
confirmmerge = true
Run Code Online (Sandbox Code Playgroud)
作为选项。我知道我可以添加这些选项到每个.prf文件中~/.unison/,但其所有齐声配置文件的全局配置文件将是可取的。有这样的文件吗?
我的配置文件中有以下设置:(/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)
我究竟做错了什么?
我正在尝试使用 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) 在通过 Internet 传输文件时,我通常使用 rsync 的 -z 选项来启用压缩。但是,如果我在自己的(空闲)千兆局域网上,我还需要压缩吗?还是没有它会更快?这取决于哪些因素?(我还没有做过任何基准测试)。
所以基本上,是否更快:压缩+传输+解压缩,或者只是传输未压缩?
如果您的网络连接速度很慢,压缩显然更好……但是如果一切都在千兆以太网网络上运行呢?
networking compression local-area-network rsync file-transfer
我已经阅读了几篇如何使用 Rsync 和公钥身份验证自动备份文件的文章。它们都非常相似。我刚刚完成了所有设置,一切正常,但是...我刚刚发现一篇文章说它不安全。我做了以下事情:
/var/sites/.ssh文件authorized_keys)。该目录归"user12"from="BACKUP.SERVERS.IP.ADDRESS",command="/root/validate_rsync"我创建了一个文件 /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 从 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)
`我应该如何解决这个错误?请帮我
我正在从服务器下载,使用 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 上运行良好)开源下载器,它是安全的并支持分段下载,我将不胜感激。
我将在两个网络服务器之间设置 rsync。我的目标是从我的主服务器上备份数据,以防主服务器崩溃。我的问题与在主服务器上为 rsync 目的设置用户帐户有关。
出于显而易见的原因,我不想在这里使用我的“root”用户帐户。因此,我的目标是设置另一个仅用于 rsync 目的的帐户。据我了解,该用户需要对我需要传输的所有文件(apache 配置、用户 linux 文件、www-data)具有读取权限。
如何最好地设置此类权限?我应该授予 rsync 用户 root 权限还是有任何更安全的方法来为此类备份创建用户?
我刚刚开始使用 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)