我有一个脚本,它应该将管理员用户上传到我们网站的照片复制到另外两个后端服务器。为此,它执行以下操作:
while true; do
inotifywait -e create "$TRANSFER_FILES" && \
sleep 20 && \
copy_files "$SSH_SERVER_1" "$REMOTE_DIR_1" && \
copy_files "$SSH_SERVER_2" "$REMOTE_DIR_2"
sleep 2
done
sleep 20 是给 apache 时间来调整上传图像的大小。
问题:
如果我在 $TRANSFER_FILES 目录(位于本地文件系统上)中创建一个文件,无论是作为 root 用户还是 apache 用户,使用 touch 或 cat 或其他方式,inotifywait 都会收到 CREATE eventc 并调用 copy_files 函数(包装 rsync)。但是,当 apache 进程创建文件时,什么也没有发生。