超过 x 天的 Tar 文件

超过 x 天的 Tar 文件

我有一个目录,我想扫描它并将每个超过 50 天的文件添加到名为 archive.tar 的新档案中

所有超过 50 天的文件必须放在一个大的 tar 中,而不是每个文件一个 tar 中。

我怎样才能做到这一点?

答案1

这将达到目的:

# find /path/to/files -type f -mtime +50 | xargs tar cvf archive.tar

您可以将其粘贴到 crontab 中并让其每天运行。

编辑:请记住,这不会从系统中删除文件,只会将它们添加到档案中。

答案2

要附加到档案,请使用r选项而不是c

find dirname -type f -mtime +50 | xargs tar rvf archive.tar

仅当文件比档案中已有的副本更新时才附加文件:

find dirname -type f -mtime +50 | xargs tar uvf archive.tar

答案3

使用 find 命令查找超过 50 天的文件,并让 find 命令运行 tar 将找到的文件附加到 tar。为了提高性能,通常将 find 命令的输出传递给 xargs 程序。

我使用 Google 搜索了“find tar xargs”,得到了两个不错的链接:

http://content.hccfl.edu/pollock/Unix/FindCmd.htm

http://www.devdaily.com/blog/post/linux-unix/using-find-xargs-tar-create-huge-archive-cygwin-linux-unix

相关内容