因此,我购买了 6TB 的 Seagate Backup Plus Hub HDD。我想使用它来备份我内置 HDD 上的文件,但我对某些备份程序的工作方式有点不满意...(阅读,程序可能按应有的方式工作,但不是我想要的那样)例如,fwbackups 在实际备份之前会创建整个目录树(Seagate Toolkit(适用于 Windows)也是如此)。它将 FolderA (/media/user1/DATA4/FolderA) 备份到 /media/ivan/Seagate Backup Plus Drive/Backup-OneTime-2018-05-05_23-19/media/Ivan/DATA4/FolderA 而我希望将其放在磁盘的根目录中 (/media/ivan/Seagate Backup Plus Drive/FolderA),但我似乎找不到更改它的设置... 有没有办法将一个磁盘 (DATA4) 根目录中的文件夹 (递归) 精确复制到另一个磁盘 (Seagate Backup Plus) 根目录中具有完全相同名称的文件夹作为备份?并使它与源文件夹保持同步?
答案1
大多数备份程序都会将数据压缩到专门的备份档案中。需要使用特殊的搜索工具来查找备份档案中的文件,并且必须使用特殊命令来检索备份文件。
如果您只想要文件的精确副本,请考虑该rsync
命令。
借用这个答案:Bash 脚本将 Ubuntu 克隆到新分区以测试 18.04 LTS 升级以下是如何克隆完整的 16.04 安装:
rsync -haxAX --stats --delete --info=progress2 --info=name0 /* "$TargetMnt" \
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
关于参数的一些值得注意的评论:
--stats
提供有关从克隆(在您的情况下称为备份)中添加,更改和删除的文件的信息。--delete
指示 rsync 删除克隆中源目录中不再存在的文件。info=progress2
在克隆目录时提供现代化的进度显示。--info=name0
防止在复制时显示每个文件名。这可以减少屏幕混乱,但您可能希望忽略此参数。/*
告诉rsync
从哪里开始同步文件。在此示例中,它是根目录,但您想将其更改为/media/user1/DATA4/FolderA
。"$TargetMnt"
告诉rscync
要克隆到哪里。 在您的例子中,将其更改为"/media/ivan/Seagate Backup Plus Drive/FolderA"
。 双引号很重要,因为您的目录名称中包含空格。- 第二行以“
--exclude={/dev/*
您根本不需要”开头,因为这些目录不在列表中。不要使用此行,并删除\
第一行末尾的行延续字符。
与所有备份场景一样总是测试备份以确保所有文件都存在且包含适当的信息。