我正在使用 inotify-tools在 CentOS 7 上在每次 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
最佳答案
问题是:您的 shell 脚本包含一系列命令。
但是您没有任何检查这些命令是否成功。你很惊讶他们都被处决了;即使一个失败了?!
根据您调用的这些工具的工作方式,只需添加即可
set -e
在调用任何命令之前(详见 here)
如果这还不行:一条一条地运行你的命令;并确定每一个是否失败;如果是这样;只需退出您的脚本!
关于linux - 如何检测 Linux 服务器上的 ftp 上传完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41056300/