如何将从特定日期到当前日期的所有日志文件复制?

如何将从特定日期到当前日期的所有日志文件复制?

我想复制从特定日期(例如 11 月 18 日)到当前日期的日志文件。我该怎么做?

答案1

您可以使用以下find命令:

find /path/to/logs/dir -type f -newermt '2022-11-18' -exec cp {} /path/to/copy/dir \;
  • /path/to/logs/dir将和分别替换/path/to/copy/dir为日志所在目录的路径和要将日志复制到的目录。

  • -type f仅用于搜索文件。

  • -newermt '2022-11-18'用于查找最后修改时间(这是mt的一部分-newermt)在 2022 年 11 月 18 日之后的文件。时间格式的解释与date-d选项类似,因此您可以使用-newermt 'November 18 2022'或任何可以处理的格式date -d。请参阅man date了解更多信息。

  • -exec cp {} /path/to/copy/dir用于将每个找到的文件({})复制到/path/to/copy/dir

请注意,它find会递归查找文件,因此它还会在目录中查找满足所需条件的文件/path/to/logs/dir。如果您不想递归查找文件,请-maxdepth 1在 之前添加选项-type f

有关详细信息,请参阅man find

相关内容