如果文件创建时间已超过 5 分钟,shell 脚本如何执行操作?

如果文件创建时间已超过 5 分钟,shell 脚本如何执行操作?

我想编写一个脚本,可以安排在固定时间间隔后运行,这样每次运行该脚本时,它都会检查另一个名为 .txt 的文件的创建时间戳HOSTNAME_FA.lck。如果(creation timestamp - current timestamp) > 5 Minutes.它运行另一个 ping 测试。

例如:脚本名称:checkFailedNodes.sh 需要检查其创建时间戳后是否已过去 5 分钟的文件:Hostname_FA.lck

如果checkFailedNodes.sh运行并确定文件创建已过去 5 分钟,checkFailedNodes.sh脚本将使用 ICMP ping 重新测试节点 (HOSTNAME)。

最好的方法是什么?

答案1

这里有几个问题,所以让我们把它们分开。

您需要一个计划以固定时间间隔运行的脚本。这就是cron目的。例如,如果您想/path/to/script.sh每五分钟运行一次,请添加此cron表条目:

*/5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1

查找最近修改的文件n分钟前,使用-mmin.进行演示n= 5:

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5

要为每个找到的文件执行脚本:

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 -exec /path/to/otherscript.sh {} \;

魔法令牌{}文件名将替换为文件名,因此脚本可以设计为查看文件的内容或文件名并采取相应的操作。

相关内容