我正在尝试删除超过 2 天的文件,并将已删除的文件名连同创建/修改时间和删除时间一起写入日志文件。
例如:文件名创建时间删除时间
测试1 11-08-2020T08:38:16+05:30 12-08-2020T10:18:42+05:30 测试2
11-08-2020T08:38:16+05:30 12-08-2020T10:18:42 +05:30
我有脚本可以删除超过 2 天的文件并将文件名记录到文件中,但不知道如何打印以及创建/修改日期和删除时间。
#!/bin/bash
path="/test"
filename=*.txt
logfile=/tmp/$(date +%d-%m-%Y).log
days=-60
find $path -mmin $days -name "*.wav" -type f -print0 -delete | xargs -0 basename -a >> $logfile
有人可以帮助我实现上述输出吗?
一旦你删除了一个文件,就不再有可能获得
stat
它atime
/mtime
信息。同样,
-printf
GNU 中的操作find
具有%f
用于打印文件基本名称的说明符,因此实际上不需要外部xargs
/basename
组合。所以你可以得到基本名称和修改
-printf
时间然后,您可以
date
在 之前(或之后)执行命令-delete
以获取删除时间:(
#
仅当您对它正在执行您想要的操作感到高兴时,才删除以继续删除)。对于其他日期/时间格式选项,请参阅相关手册页 - 我选择
%T+
了 GNU 长格式修改时间find
,然后选择日期格式+%F+%H:%M:%S.%N
来模仿它。