当前位置: 首页 > 知识库问答 >
问题:

如何在使用tar时保持文件所有权

武睿
2023-03-14

我目前正在为我们的服务器编写自动备份脚本。我正在使用脚本中的UNIX tar命令来存档代码存储库。

在我的PERL脚本中,我使用tar命令如下:

system("tar -jcpf $destPath/$string.tar.bz2 -X $exclusionFile $targetPath");

我想在提取tar存档文件时保留文件所有权。我试图用以下命令列出tar归档文件的内容

tar -jtvf

并且该列表包含每个文件的正确文件所有权,但在提取存档时,文件所有权更改为当前用户。

有没有办法提取一个tar归档文件,并保留每个文件的原始文件所有权?

共有2个答案

堵凯
2023-03-14

您希望在使用<code>p<code>开关执行<code>tar-x<code>时“保留”文件属性。显然,您需要是root才能获得所需的结果。

         -p, --insecure, --preserve-permissions
         (x mode only) Preserve file permissions.  Attempt to restore the
         full permissions, including owner, file modes, file flags and
         ACLs, if available,

许多POSIX系统也提供< code>pax、< code>cpio,它们可以作为< code>tar的替代产品。

秦博延
2023-03-14

在提取时向tar提供选项<code>--same owner

tar--help告诉:

   --same-owner
          create extracted files with the same ownership
 类似资料:
  • 我有一些python代码来读取文件并将数据推送到列表中。然后把这个列表放到队列中,用线程处理这个列表,比如说一次20个项目。处理后,我将结果保存到一个新文件中。新文件中的内容实际上与原始文件的顺序不同。例如,我有输入, 但是输出看起来像: 有没有办法保持原来的秩序?这是我的代码:

  • 我已经开始使用推荐的,并不再使用。其中一件我无法粘合的事情是使用持久的cookie存储。我只想在我的连接上附加一个定制的cookie处理程序/管理器来存储cookie。Android文档并没有太大帮助,因为它将有关cookie的主题概括为两行。 我之前一直在使用LoopJ的PersistentCookieStore,效果很好。 关于如何在Android中设置一个持久的cookie存储,我可以附加到

  • 我在这个登录屏幕上工作,我希望所有字段、文本和按钮在显示IME时调整大小。我已经在androidManifest.xml上使用了android: windowSoftInputMode="调整调整大小",但我仍然在其他元素下面获取一些元素。 虚拟键盘是否覆盖了TextView“地籍Agora”(id=地籍)无关紧要。但是,我希望至少EditText、它们的文本视图和按钮都是可见的。 我发现这个未回

  • 是否有tar命令来排除子目录,但包括文件夹根目录中的每个文件,然后将它们放在特定路径上? 我想省略每个子目录,只保留文件的最大最小深度= 1。我尝试了以下方法,但不起作用:

  • 我正在将图像保存到tar文件中,如下所示 < code>docker保存我的图像:最新 但是构建失败了。有人能帮我一下吗?如何在Dockerfile中发送tar文件?

  • 我已经建立了一个测验,它产生随机的数学问题。在main方法中,我有一个while循环,它使用System.CurrentTimeMillis()方法。在while循环中,我使用了Scanner对象中的nextInt()方法。这在一定程度上停止了计时器的工作。简而言之,我试图给用户10秒钟来完成10个简单的数学问题。当计时器用完时,我只想系统出用户的分数。请看代码,以便更好地理解我在做什么。