如何从 ubuntu 备份文件夹,以便任何用户都可以在任何文件系统和操作系统上使用它

如何从 ubuntu 备份文件夹,以便任何用户都可以在任何文件系统和操作系统上使用它

概括:
我需要备份一个文件夹(不是整个系统)450 GB大量内容可以存储到许多不同的外部驱动器(NTFS 和 ext4)。我想在备份之前将其存档(tar)并压缩(可能是 gzip?)。之后,我(以及拥有此文件夹的任何其他用户)需要能够从其中一个驱动器下载存档,解压缩它,然后开始编辑、创建、删除和移动内容,而不会出现与以下类型的问题相关的问题:权限或者不匹配的文件系统

整个过程(从驱动器下载->解压缩->编辑内容,没有与权限和/或文件系统相关的问题)必须可以在 Ubuntu 和 Windows 10 上完成,尽管该档案源自具有 Ext4 文件系统的 Linux 发行版(Ubuntu 20)——保留初始目录结构非常重要。

下面的命令能完成这个吗(p故意省略标志)?

~$ tar -czvf folder_backup.tar.gz --exclude=/folder_backup.tar.gz /path/to/important/folder

在阅读了许多其他问题(如下所述)后,我感觉这确实可以像我上面解释的那样工作,但仅限于 ext4 到 ext4(带有 ext4 的外部驱动器到带有 ext4 的操作系统)。如果是这种情况并且没有“跨平台”解决方案,我可以创建两个备份(一个用于 ext4 驱动器/操作系统,一个用于 NTFS 驱动器/操作系统),但这必须从 Ubuntu 中实现。意思是,从 Ubuntu 创建两种类型的档案(我该怎么做?)

任何帮助都非常感谢。我认为我机器的内置驱动器已经到了使用寿命的尽头,因此备份此文件夹对我来说非常重要。谢谢!!

注意:我无法使用 NTFS 格式化驱动器并将其转换为 ext4;以 2-4 GB 的块形式存档为 FAT 并不实际,我宁愿创建两个单独的备份;我愿意创建两个不同的档案,但这只是最后的手段。



更多细节

这个文件夹根本不保密(没有任何敏感信息,如信用卡号或密码)并且我甚至可能与一些家庭成员共享它,所以我不想保留权限/所有权。

我在 AskUbuntu 和 Unix&Linux StackExc 上找到了类似的问题。但是,我发现的大多数问题(大多数未在下面引用)都是关于保留权限/所有权的,而这并不是我的目标。


将 ext4 上的文件备份到外部 NTFS 驱动器(Unix&Linux StackExc.)

  1. “您可能会失去权限...如果这对您很重要(我对此表示怀疑),您必须先创建一个 tar 文件,然后将其传输到 NTFS 驱动器。”

  2. “tar 的一个缺点是会丢失 POSIX ACL,但这种情况并不常见,所以我认为它们可能并不重要。”

==> 我的文件夹没有 POSIX ACL。

  1. “许可本身就像一条鲨鱼,迟早会游上来咬你屁股,尽管不会致命。”
  2. “... 不匹配的权限(例如从 unix/Linux 1777 样式位移动而丢失的权限)会对您造成伤害,正是因为这些权限至关重要。”

我可以使用 NTFS 外部硬盘来备份我的 Ext4 Linux 服务器吗?(Unix&Linux StackExc。)

  1. “对于磁盘映像来说 - 当然可以。就文件而言 - 再次,就像你说的,NTFS 在允许的字符方面有更多限制。”

在 Ubuntu 和 Windows 分区之间复制文件 (AskUbuntu)

  1. “不,您不会因为在 Ubuntu 和 Windows 分区之间传输文件(通过 Nautilus)而遇到任何问题。”
  2. “对于使用 Ubuntu 桌面版的用户来说,...安装 NTFS 或 FAT32 分区的最简单、最快捷的方式是通过文件管理器:Ubuntu 中的 Nautilus...只需在文件管理器的左侧窗格中查找要安装的分区并单击它 - 它就会被安装,其内容将显示在主窗格中。”

然而,这些问题虽然相似,却并未解决我的疑虑,这就是我发布这个问题的原因。

这就是Ubuntu 文档建议:

~$ tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /

我不需要这个--one-file-system /位,因为我的 Ubuntu 机器上只有一个文件系统(一个硬盘)。我删除了该p标志(用于权限),因为这个存档必须可以从不同的机器访问,并且所有机器都必须能够读取、写入、编辑、移动、删除等(无论操作系统是什么)。

这就是我的想法(仅限此文件夹及其内容,而不是整个系统):

~$ tar -czvf folder_backup.tar.gz --exclude=/folder_backup.tar.gz /path/to/important/folder

我应该为此使用 sudo 吗?

--exclude=/backup.tar.gz--“第一条排除规则指示 tar 不要备份自身,这对于避免操作过程中出现错误非常重要。”这部分真的有必要吗?如果是,上面的命令正确吗?

再次感谢你!

相关内容