繁体   English   中英

linux bash查找是否不执行

[英]linux bash find if not execute

如果在30分钟内未创建目录中的任何文件,则需要创建一个bash脚本来运行另一个脚本命令。

我不确定所需的代码,但如果不匹配,则需要查找并执行。 --

查找/ folder / to / watch / *如果不是30分钟-exec fixscript.sh或其他内容?

运行脚本后,我希望它检查文件夹中的文件,如果在最近30分钟内未创建文件,则运行fixscript.sh

提前致谢

我认为这不能合并为单个find语句。 以下是可行的,但需要注意的是,如果修改了文件,则将其检测为“比30分钟新”。

if [ `find /folder/to/watch -mmin -30 | wc -l` -eq 0 ]; then
    /path/to/fixscript.sh
fi

Linux / Unix没有独立的文件创建属性。 虽然某些文件系统可能有它,但是如果没有c代码和调用stat(),则无法从外壳程序访问它。 这使用“文件已修改”时间戳,该时间戳不仅会在文件创建时更改,还会在文件编辑时更改。

汉奴

在Linux中,没有用于创建时间的元数据,而仅具有上次修改时间,上次文件状态更改和上次访问时间的元数据。

你可以做:

if test ! [`find "your_file" -mmin +30`]
then
    `path/to/your/script.sh`
fi

-mmin选项为您提供最后的修改时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM