我在CentOS 7上使用inotify-tools在每次ftp上传时执行php脚本。
它工作正常,但有一个问题;当上传被中止时(例如,如果我停止上传或关闭FTP客户端),它仍会触发脚本。
这可以避免这些情况吗?
我的代码:
#!/bin/sh
MONITORDIR="/path/to/some/dir"
inotifywait -m -r -e close_write --format '%w%f' "${MONITORDIR}" | while read NEWFILE
do
php /path/to/myscript.php ${NEWFILE}
done
答案 0 :(得分:1)
事情是:你的shell脚本包含一系列命令。
但您没有任何检查这些命令是否成功。你们都被处决了,你们感到惊讶;即使一个人失败了?!
根据您调用的工具的工作方式,仅添加
就足够了set -e
事先调用任何命令(有关详细信息,请参阅here)
如果没有削减它:逐个运行你的命令;并确定每一个是否失败;如果是这样;只需退出你的脚本!