1

我在 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
4

1 回答 1

1

问题是:您的 shell 脚本包含一系列命令。

但是您没有任何检查这些命令是否成功。你很惊讶他们都被处决了;即使失败了?!

根据您调用的这些工具的工作方式,只需添加

set -e

在调用任何命令之前(请参阅此处了解详细信息)

如果这不能解决问题:一个接一个地运行你的命令;并确定每一项是否失败;如果是这样; 只需退出您的脚本!

于 2016-12-09T08:44:42.627 回答