我有 pCloud 应用程序用于备份,但它排除了所有隐藏文件,其中一些文件(例如我的钥匙链)我真的想确保已备份。
我可以使用 GUI 应用程序执行此操作吗?如果不行,我可以使用 rsync 吗?是否可以运行 GUI 应用程序和使用 rsync 而不对(几乎)所有内容制作两份副本?
我在使用 Ubuntu 22.04。
答案1
当然,您可以使用rsync
它来备份到 pCloud。这实际上是一个基本的rsync
命令,但有一些细微差别。
至于重复,如果您备份两次,备份到不同的位置,那么您将拥有所有内容的两个副本,因为这就是您所做的;-) 为避免重复备份,请仅备份一次,或仅备份到同一个地方。
我已经停止使用 pCloud 备份功能,虽然我不清楚具体原因,但我想我只是可以通过安排自己的备份来获得更多的控制权。
不幸的是,pCloud 保留了对其自身pCloud Backup
远程目录的权限,因此您无法运行rsync
到 pCloud 发送其 GUI 功能备份的同一位置。您要么有两个备份,要么需要停止使用 pCloud Backup 而去rsync
其他地方。
rsync
或者,您可以像往常一样使用 pCloud Backup有选择地备份您的点文件和任何其他“特殊”文件。
同步
Rsync主页和手动的 页提供有用的摘要、示例以及我将推荐的选项的一些额外细节。
试运行
Rsync 调用可能很危险。如果您不熟悉具体细节,可能会造成混乱或意外删除。使用-n
(“否”选项)进行“试运行”,其中将列出需要会已更新,只是为了检查下次真正运行时会发生什么。我将-n
在下面的所有示例中包括它,以便您在准备好时可以将其删除。
尾部斜杠
许多常规 Linux shell 命令在目录名末尾有或没有斜杠时都能正常工作。不是rsync
。添加斜杠会产生不同效果。当目录路径以斜杠结尾时,它表示“目录的内容”。如果没有斜杠,它指的是“目录本身”(因此也包括内容)。复制命令行时,请确保复制路径确切地除非您知道如何修改目标。
存档模式
尤其是在备份时,Rsync 经常使用“存档模式”,使用-a
(代表“存档”)选项,经常使用“详细”和“压缩”选项:-avz
。这可能对您有用,但对于云存储,我经常发现远程存储上的权限不支持与本地驱动器上的权限相同的方式。尝试完全复制权限可能意味着rsync
永远不会发现相同的远程副本,因为权限不同。这可能会导致不必要的复制和增加带宽。出于这个原因,我不会使用“存档模式”(尽管我不确定它是否有用!)。
备份期间删除旧文件
备份时的预期行为主要包括从上一次备份中删除文件,如果这些文件已在本地(主服务器)上删除。这可以通过使用 Rsync 选项来实现--delete
。但如果由于某种原因您的备份领先于本地(假定为主服务器),则这种破坏可能是一个错误。我不会--delete
在以下命令中包含该选项,但您可以在准备好时添加它。
点文件
“点文件”(以句点开头的文件)会自动包含在rsync
调用中。您无需使用--include
选项。只需运行推荐的命令即可。
但是,你可以不是想要包括全部“点”文件,当然不是所有“点”目录(例如.cache
,.config
和.local
可能包含许多子目录并且非常大)。
因此,您可能需要创建一个要排除的主目录“点”文件列表。要在.rsync
您的主目录中名为的文件中执行此操作,首先创建该文件:
ls -1a ~ > ~/.rsync
现在编辑文件,以便列表中只保留您想要排除的文件。此文件将被即将到来的命令引用,以确保不会备份这些特定文件。
Rsync 命令
下面是一些实现略有不同的备份的 Rsync 命令列表,它们最终会生成一个命令来备份你的整个主目录,减去排除列表。
以下 Rsync 命令应复制内容将您的local/source
目录放入 pClouddestination
目录中没有source
在 pCloud 上创建另一个目录:
rsync -n -rltvzx --no-p --no-o --no-g local/source/ ~/pCloud/destination
因此,如果您在 pCloud 上将备份保存在与本地同名的目录下,那么例如,要备份您的主Documents
目录,您可能需要运行:
rsync -n -rltvzx --no-p --no-o --no-g ~/Documents/ ~/pCloud/Documents
要将您的整个主目录备份到backup
pCloud 上的目录(排除列表除外),请运行:
rsync -n -rltvzx --no-p --no-o --no-g --exclude-from=~/.rsync ~/ ~/pCloud/backup
使用通常的进度报告,报告传输的文件;如果您重新运行它,它应该只报告目录,一旦远程上的所有文件与本地上的所有文件相同。
-n
当您确信自己拥有适合该工作的正确路径时,无需执行此操作。
Rsync 选项
这些命令中的 Rsync 选项的作用如下:
-r
:递归(复制所有子目录)-l
:将符号链接复制为符号链接(不进行额外复制)-t
:保留修改时间-v
:详细(列出正在传输的文件)-z
:复制时使用压缩(节省带宽和时间)-x
:不跨文件系统(避免可能存在的其他挂载)
此外,--no-p
(无权限)、--no-o
(无所有权)和--no-g
(无组)选项(应该)对远程存储上的权限保存更加宽松,而远程存储可能只有一个所有者或组。
--exclude-from=~/.rsync
命名包含要从同步中排除的所有文件名模式列表的文件。
混合云
我实际上同时使用 pCloud 和 Dropbox,但我已经不再让它们访问相同的目录 ;-) 不过,我认为你能玩这种火,但你可能明智的关闭其中一个,尤其是在大量传输期间。还请注意,这些综合管理系统不一定能满足您的环境的定制使用,例如 Linux 用户更可能想要的。特别是可能存在包含大量文件的“点目录”,这些文件可能会延迟或可能干扰您的常规使用。您最好确保没有重叠或可能添加--exclude
规则以防止从另一个备份系统备份控制文件。