使用 inotify 监听文件变动并自动更新索引

使用 inotifywait 来实时监听目录var/lib/docker/volumes/nextcloud_nextcloud_data/_data/data/albert/files/bt_wget_downloads的文件变化(如创建、删除、修改和移动),并在发生变化时触发执行 Nextcloud 中的文件扫描命令 php occ files:scan。这样做的主要目的是确保当指定目录中的文件有变动时,Nextcloud 能及时更新文件索引,以便能在 Nextcloud 中显示最新的文件。

安装 inotify-tools bash

sudo apt update && sudo apt install inotify-tools -y

创建脚本 watch_nextcloud.sh(监听文件变动)

vim  /root/watch_nextcloud.sh 

将一下代码写入copy进去

#!/bin/bash

WATCH_DIR="/var/lib/docker/volumes/nextcloud_nextcloud_data/_data/data/albert/files/bt_wget_downloads"
NEXTCLOUD_CONTAINER="nextcloud-app"  # 你的 Nextcloud Docker 容器名称

# 监听文件的创建、删除、修改、移动
inotifywait -m -r -e create,delete,modify,move "$WATCH_DIR" --format '%w%f' |
while read FILE
do
    echo "检测到文件变动: $FILE"
    sudo docker exec -u www-data $NEXTCLOUD_CONTAINER php occ files:scan --path="/albert/files"
done

赋予执行权限

chmod +x /root/watch_nextcloud.sh

后台运行脚本

nohup /root/watch_nextcloud.sh > /var/log/nextcloud_watch.log 2>&1 &

验证是否生效

通过 Xshell 在 /path/to/nextcloud/data 内添加或删除文件,看是否自动触发 occ files:scan --all

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇