这是一种在 CentOS 中监视目录(例如 /opt/data)的方法吗?每次将文件添加到该目录时,我们都会自动运行一个命令?我安装了inotify,但不确定这是否是最好的工具。
你能帮忙吗?先感谢您
答案1
您可以使用以下命令监视目录inotifywait
并在添加文件时运行命令:
inotifywait -m -e create -e moved_to --no-newline --format "%f%0" /opt/data | \
while IFS= read -r -d '' NAME; do
echo "Added file: '${NAME}'"
done
替换echo "Added file: '${NAME}'"
为您的命令。
选项inotifywait
:
-m
— 第一个事件发生后不要退出。-e create -e moved_to
— 要报告的事件。 inotify区分文件创建事件和移动事件,因此两者都被指定。--no-newline
— 不要在文件名后打印换行符。--format "%f%0"
— 仅打印以零结尾的文件名。