我在rsync 手册页上看到有很多delete选项,但并不真正了解它们之间的区别。这些选项之间有什么区别?
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during xfer, not before
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
Run Code Online (Sandbox Code Playgroud) 我家里有三台电脑,希望在三台电脑/home/之间同步文件夹树。
在三台计算机中的一台计算机中修改/添加/删除的任何文件/文件夹(隐藏的除外)都会在另外两台计算机中更新。
是rsync足以做到这一点?如何?
我想每晚使用cron要执行的作业将我的主目录备份到外部驱动器rsync。我不确定rsync的符号链接标志的确切行为。
rsync的-a标志包括-l标志(即“将符号链接复制为符号链接”)。这是否只是意味着它将复制链接或它将跟随链接并复制链接目录中的所有内容?我想避免这种情况,因为我有指向充满媒体文件的目录的链接,这些文件涉及复制不需要备份的数百 GB 数据。rsync -a会复制所有这些媒体文件,我改为添加了--no-links标志。这似乎不是我想要的行为。它只是忽略复制任何有问题的链接,因为我确实有我想要复制的链接(例如,来自不同项目目录的公共头文件的链接)。--no-links标志)是我真正想要的,它只是复制链接而不复制链接到的文件,链接备份时会断开吗?例如,我可以将rsync目录源/home/me/projects/misc到/media/extdrive/backup/home/me/projects/misc. 在这种情况下,我认为rsync它不够聪明,也没有尝试纠正相关目录更改的符号链接内容。这样对吗?没关系,备份目录中的链接是否损坏并不重要,只要它们在需要恢复的时候能够修复并正常工作即可。我很高兴使用来自https://git-scm.com/ 的Git 和 Git Bash 。这里有一个包含更多信息的页面:https : //git-for-windows.github.io/。
昨天我遇到了一个问题rsync,我开始深入研究适用于 Windows 的 Git Bash。我意识到我什至不确定 Bash 程序的名称,因为它只是与 git-scm 下载捆绑在一起。我称之为 Windows 版 Git Bash,这似乎很合理。
在寻找到“什么是Git的打击”我读到Cygwin的和不同的东西叫msys2,这似乎是有关msysGit,我看到引用MinGW。但是,然后我在 FAQ 中看到mintty是 Git Bash 的默认终端。
似乎 Bash 应用程序实际上是一个特别策划的捆绑其他东西(主要在上面列出),这些东西可以独立使用。
从根本上说,我想知道那是什么使得像* nix命令的基础上ssh,scp,cat,和ls工作的Git的Bash为Windows?
(我认为一个好的答案会帮助人们大致理解这些组件如何组合在一起并理解组件的正确用语,但我不想打破 SO 问题/答案格式。)
在我开始目前的工作(在一家小企业)之前,我的办公室在网络上没有防火墙,几乎没有任何备份。现在,我已经以专门的系统管理员/单人 IT 部门的身份登录,我一直在尽我所能来改变这一点。在向我的老板解释了我们有多脆弱之后,他允许我设置一些备份服务器,其中一台在他家。
现在,我正在尝试设置所有内容,以便我可以自动执行每日备份。我打算通过 ssh 使用 rsync 来做到这一点。出于安全和自动化的考虑,我计划禁用 ssh 密码登录并仅使用 rsa 密钥验证。好吧,如果我设置了 rsa 密码,那么我仍然需要输入密码,这是一个问题。
没有 rsa 密码是否会显着降低安全性?我是公司中唯一对这种事情有任何线索的人,所以我不太担心有人在我的机器上调用终端(无论如何,当我 AFK 时它总是被锁定的) ) 并通过 ssh 连接到其中一台备份服务器并造成任何损坏。我对系统管理领域仍然非常非常陌生,这是我第一次做这样的事情,我不想在安全设置中留下任何漏洞。
这里有问题的计算机正在运行 Ubuntu 10.10、SME Server 和 OSX 10.6,如果这有什么不同的话。
我正在运行 rsync 以将目录同步到我的外部 USB 硬盘上。这是大约 150 演出数据。我猜有 50000 多个文件。
它目前正在运行它的第一次同步,但其复制文件的速度仅为 1-5 MB/s。对于 USB 2.0 外壳来说,这似乎非常慢。驱动器上也没有发生其他传输。
以下是我使用的选项:
rsync -avz --progress /mysourcefolder /mytargetfolder
Run Code Online (Sandbox Code Playgroud)
我正在运行 Ubuntu Server 9.10。
我对此有点疑惑?为什么 rsync 比 scp 快?rsync 不使用下面的 scp 还是做一些更有效的事情?有什么方法可以加速scp吗?
我必须使用 rsync 通过 ssh 传输大量数据(> 80 GB)。一切正常,但发送备份数据的 DSL 连接将每 24 小时断开一次,最多 3 分钟(不能选择切换提供商)。
我如何能:
连接恢复后自动重新开始传输?
确保没有意外地同时运行两个 rsync 命令?
假设/foo/src仅包含A.c并且同时/foo/dest包含A.c和B.c。假设我运行以下命令:
rsync /foo/src/ /foo/dest
Run Code Online (Sandbox Code Playgroud)
会rsync抹掉B.c吗?
现在假设/foo/src包含其中包含A一些文件的目录,并且/foo/dest包含目录A和B,每个目录中都有一些文件。假设我运行以下命令(-a 选项包括 -r,递归):
rsync -a /foo/src/ /foo/dest
Run Code Online (Sandbox Code Playgroud)
会rsync擦除B其内容吗?
我有一些文件夹被错误地复制了,我必须将它们合并在一起。假设文件夹 A 包含文件 X,文件夹 B 包含文件 Y,我想将文件 X 复制到文件夹 B。但是,当然,我可以面对更复杂的情况,其中文件夹 A 和 B 都包含相同的文件 X : 在这些情况下,我想保留文件的最新副本,因此 rsync 应该比较两个文件,如果源较旧,则跳过,否则目标是较旧的,覆盖。
我应该在 rsync 命令行上放置哪些参数?
这是我在谷歌上发现的,但我认为不正确。
rsync -avz --ignore-existing src dest
Run Code Online (Sandbox Code Playgroud)
手册页不知何故超出了我的范围。
PS 在两个文件夹中都存在文件的情况下,最好将旧文件覆盖到目标文件夹中,同时保留旧文件的副本,作为备份,以防您返回以前的
rsync ×10
linux ×3
bash ×2
ssh ×2
command-line ×1
home-folder ×1
macos ×1
mingw ×1
passphrase ×1
rsa ×1
scp ×1
security ×1
sync ×1
ubuntu ×1
ubuntu-9.10 ×1
unix ×1
usb ×1
windows ×1