我需要将我的主文件夹(和一些其他文件夹)备份到组织 Linux NFS 系统上,我的帐户即将到期,备份到个人硬盘上(不使用 Linux 文件系统)。我通过 SSH 和 SFTP 访问帐户。我想备份这些文件和目录的所有元数据以及其中的所有内容,包括日期、所有者、组、UID/GID 编号、CHMOD 权限等。我该怎么做?我是否需要在目录上递归运行 LS 命令,并对要显示的信息进行某些设置,然后将结果传输到文件中,以便无论我将信息移动到哪个文件系统,信息都会在文件中?或者有没有办法使用 TAR/GZ 之类的东西保存所有元数据?如果使用 TAR/GZ,那么如何在将存档移动到的其他文件系统上查看这些元数据,只要不提取,存储的用户/组是否保持完整?
此外,您是否也知道如何对 SELinux 元数据和 AFS(安德鲁文件系统)元数据执行此操作?(这些稍后将用于另一个文件系统,但如果不知道这两个问题的答案,请仍然回答上述问题。)
答案1
使用 tar(1)
是的,tar 存档程序是检查 linux 目录的好方法。
这样做的一个优点是中间文件系统是什么都无所谓。例如,您可以将 .tgz 文件放在 FAT32 闪存驱动器或其他任何驱动器上,只要最终在另一个类 Unix 系统上完成提取,所有元数据都会保留下来。
$ tar cvfz /somewhere/else/backup.tgz . # save current directory and everything underneath
...
# later, on a Unix box...
$ mkdir my_old_dir; cd my_old_dir
$ tar xvfz /whatever/backup.tgz