如何在Linux服务器上检测到ftp上传完成?

时间:2016-12-09 08:40:27

标签: linux ftp inotifywait inotify-tools

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

1 个答案:

答案 0 :(得分:1)

事情是:你的shell脚本包含一系列命令。

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

根据您调用的工具的工作方式,仅添加

就足够了
set -e

事先调用任何命令(有关详细信息,请参阅here

如果没有削减它:逐个运行你的命令;并确定每一个是否失败;如果是这样;只需退出你的脚本!