【问题标题】:How to list all files affected by a tar command?如何列出受 tar 命令影响的所有文件?
【发布时间】:2017-06-28 09:46:53
【问题描述】:

我们运行一个每日备份脚本,将一个大的 tar 文件放在远程 ftp 服务器上(使用 ncftpput)。我们需要有这个文件的本地内容列表(“ls -la”或“tar -tvz”),而不是在传输之前在本地创建这个大文件,并且在远程保存后不下载这个文件。备份脚本运行几个小时。因此,没有文件大小和时间戳的详细信息的 tar 的详细输出是不够的,几个小时后对这些文件运行“ls -la”也不是一个好的选择。

创建上述内容列表的最佳方法是什么?
有没有比创建索引文件(使用 tar 选项“v”和“--index-file=file”)并在数小时后运行另一个本地脚本以获取更多文件信息(时间戳和大小)更好的方法在此期间发生了变化)?

【问题讨论】:

  • 您的脚本如何选择它应该包含在备份中的文件?如果脚本知道它将放入存档中的文件,那么它也可以列出它们。
  • tar 命令有很多动态排除选项。
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • @jww:我不同意。该解决方案只是基本打包程序的一个选项,但问题是关于编写备份脚本并且可能对其他人有用。

标签: linux shell tar ncftp


【解决方案1】:

你不能在 tarring 时收集列表吗?

$ mkdir test
$ cd test
$ touch a b
$ tar cvvf ball.tar .
drwxrwxr-x james/james           0 2017-06-28 14:27 ./
-rw-rw-r-- james/james           0 2017-06-28 14:27 ./a
-rw-rw-r-- james/james           0 2017-06-28 14:27 ./b
tar: ./ball.tar: file is the archive; not dumped
$

【讨论】:

  • 太好了,选项“v”的双重使用将输出从短版本更改为长版本。在手册中没有找到任何关于此的内容。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2014-07-21
  • 2019-09-25
  • 1970-01-01
相关资源
最近更新 更多