[英]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.