我有两个目录,每个目录都有相同的 PHP 应用程序。我想rsync -rvz从一个源目录执行到另一个目标,因此 rsync 将仅复制更改的文件。问题是源目录中的文件错误地具有 755 权限。目的地的权限很好。
如何告诉 rsync 忽略权限检查并仅按大小检查?谢谢。
我希望对 Linux 服务器具有有限的访问权限,以便能够获取一组特定的日志。理想情况下,我希望能够在本地运行 rsync 以从服务器获取日志,并且出于安全原因,我不想授予用户完整的 ssh 登录访问权限。
数据目前存储在 9TB RAID 阵列中,许多用户拥有许多文件和目录。我们想将它备份到五个 2TB 外置硬盘驱动器,但由于我们只有一个可用的 USB 端口,因此必须按顺序完成。这意味着一旦插入硬盘 #2,就拔掉 #1,除非软件记住它,否则我们将不知道硬盘 #1 上原来是什么。
一种解决方案是预先将每个文件或目录分配给硬盘驱动器,然后在连接时执行此操作。有没有直接的方法来做到这一点?
我的umask是0002。
那么当 I 时rsync -r me@remote:new .,为什么结果组不可写?
drwxrwsr-x 10 root developers 4096 Aug 22 12:55 .
drwxrwsr-x 12 root developers 4096 Jul 14 19:05 ..
drwxrwsr-x 3 root developers 4096 May 16 15:04 old
drwxr-sr-x 4 aaronadams developers 4096 Jun 26 15:17 new
Run Code Online (Sandbox Code Playgroud) 我们有一组机器(大约 50 台并且还在不断增加)。每台机器都有一个搜索索引,每天需要更新多次。我们目前单独更新每台机器上的索引,但理想情况下,我们可以在一台机器上更新它,然后将新文件同步到集群的其余部分。我们最初使用 rsync 来处理这个问题,但随着机器数量的增加,这个解决方案显然无法扩展。我刚刚开始研究多播文件传输。任何有经验的人都可以推荐一些值得一看的地方?
rsync -avz D:/test me@my.server.com:/test
Run Code Online (Sandbox Code Playgroud)
我在 windows7 盒子上使用 cwrsync rsyncing 到 linux 盒子。
当我从驱动器 C 上的相对路径前进时,一切正常。
当我运行上面的行时,rsync 抱怨说“源和目标不能都是远程的”。
如何让 rsync 查看驱动器 d 上的目录?
驱动器 c 中文件夹中的同一行工作正常:
rsync -avz /test me@my.server.com:/test
Run Code Online (Sandbox Code Playgroud)
在 Mac 上,第二个硬盘是通过 Volumes 挂载的,rsync 可以通过它访问文件,Windows 中有没有类似的东西?
所以我有一个非常简单的备份脚本,它每晚都作为 cron 作业运行,它是:
rsync -azhv /company/shared_files/ /mnt/ext_drive/backups/shared_files/company_share_backup_"`date +\%Y-\%m-\%d`"
Run Code Online (Sandbox Code Playgroud)
以前备份的大小约为 20 演出,运行时间约为 10 分钟,但截至两天前,它是 80 演出,运行时间超过 6 小时。什么会变得不稳定?
我的一般程序是将每个备份保留 7 天,然后每周从星期日开始备份以节省空间,因此理想情况下,我想为每一天做一个单独的 rsync,而不是以更自然的方式进行 rsync 只更新备份中已更改的文件。
我正在运行带有 2TB 硬盘和 16G 内存的 Debian Wheezy,并将这些文件从我的 Debian 服务器传输到带有 2TB 的 WD My Passport Ultra。
每天晚上,我使用 rsync 将几个虚拟磁盘从一台 Linux Debian 计算机复制到另一台 Linux Debian。
大多数文件是带有“漏洞”的原始图像:某些部分从未写入,因此在磁盘上保持未分配状态。
rsync 挂在一个文件上,始终相同。每次传输 50 Gb 后都会发生挂起。我不确定这是否总是在完全相同的点,但ls -sh显示 50 Gb。
这是一个 800 Gb 的文件,其中包含 151 Gb(因此 649 Gb 未分配)。其他一些虚拟磁盘也有类似的数字,rsync 可以很好地处理它们。
如果我使用 rsync 在本地更新文件,我的行为完全相同,而无需任何网络参与(使用--no-whole-file,这是一个要求,见下文)。
一旦 rsync 停止,它会在接收端使用一个 CPU 内核 100% 和零磁盘活动(这是一个拉取请求,所以 rsync 从这一端运行),并在发送端使用零 CPU 和零磁盘。
我让它运行了几个小时。
Ctrl+c立即停止 rsync。
当运行到本地复制时,一旦停止,我也有一个 CPU 核心 100% 和零磁盘活动。
我发现的唯一例外是当我将此文件同步到新位置时(即目标文件不存在)。所以我怀疑这个问题与新旧数据的比较有关。
我--inplace用来限制对目标磁盘的写入,因为每次备份后都会使用快照。所以这个选项是必需的,rsync 也是必需的,除非我发现一个工具只能更新这些文件的更改部分。
我收到以下错误:
sudo ionice -c 3 nice -n +19 rsync -av --progress -e 'ionice -c 3 nice -n +19 ssh -l root -p 22 192.168.0.1' 192.168.0.1:/domains/remote/. /domains/local/;
root@192.168.0.1's password:
bash: 192.168.0.1: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(605) [Receiver=3.0.9]
Run Code Online (Sandbox Code Playgroud)
rsync 工作较早,现在我收到此错误。
编辑1:
root@local-debian7:/root# rsync -av --progress -e 'ssh -l root -p 22 192.168.0.1' 192.168.0.1:/domains/remote/. /domains/local/;
root@192.168.0.1's password:
bash: 192.168.0.1: command not found
rsync: connection unexpectedly …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的 Raspberry Pi 3 (Raspbian) 备份到我的台式计算机 (Windows 10 Pro)。目前我可以通过各种方式 SSH,指定私钥文件。
从 Windows SSH 到 RPi:ssh root@192.168.1.107 -i H:/ssh/BB8.OpenSSH.ppk(root 以确保我在测试期间没有权限错误)。
从 RPi SSH 进入 Windows: ssh matt@192.168.1.100 -i /home/pi/.ssh/RPi3.OpenSSH.ppk
以下 rsync 命令不起作用:(Windows > RPi)
rsync -vvvvna --exclude={"/proc/*","/sys/*","/dev/*","/boot/*","/tmp/*","/run/*","/mnt/*"} -e "ssh -i H:/ssh/BB8.OpenSSH.ppk" root@192.168.1.107:/* /cygdrive/h/Users/Matt/Documents/RPi3_Backup
Run Code Online (Sandbox Code Playgroud)
Rsync 说“连接意外关闭”,而 RPi SSH 日志说它“收到来自 192.168.1.100 的断开连接”。
同步输出:
cmd=ssh -i H:/ssh/BB8.OpenSSH.ppk machine=192.168.1.107 user=root path=/*
cmd[0]=ssh cmd[1]=-i cmd[2]=H:/ssh/BB8.OpenSSH.ppk cmd[3]=-l cmd[4]=root cmd[5]=192.168.1.107 cmd[6]=rsync cmd[7]=--server cmd[8]=--sender cmd[9]=-vvvvnlogDtpre.iLsfxC cmd[10]=. cmd[11]=/*
opening connection using: ssh -i "H:/ssh/BB8.OpenSSH.ppk" -l root 192.168.1.107 …Run Code Online (Sandbox Code Playgroud)