bash - 如何将 OMV (OpenMediaVault) 的文件系统与 Owncloud 数据库同步
问题描述
我正在使用 OMV (Openmediavault) 和 Owncloud 设置运行 debian。我想将文件系统树与 Owncloud 的数据库同步。因为 OMV 可以在没有 Owncloud 更新数据库的情况下更改文件。我在考虑一个 bash 脚本。
当我创建删除或移动文件时,它需要在 Owncloud 的数据库中注册。
解决方案
这是我为此目的创建的一个小脚本。您将需要 Inotify 包。
#!/bin/sh
DATADIR="/sharedfolders/Owncloud"
inotifywait -m -r -q -e moved_to,create,delete --format '%w%f' "$DATADIR" |
while read INOTIFYFILE ; do # wait until change is made in the data dir
SCANFILE="${INOTIFYFILE##$DATADIR}" # converting Inotify output to something the owncloud --path option understands
sudo -u www-data php /var/www/owncloud/occ files:scan --path="$SCANFILE" #remove -q to enable logging & scans detected file
done
推荐阅读
- javascript - 如何找到执行 eval 代码的 [content] 脚本
- r - R:如何根据 R 中另一行的值扩展一行中的值?
- html - 当html代码不直接包含选项时如何使一个按钮默认单选按钮
- axapta - Microsoft Dynamics ax 2012 如何从 2 个不同的表创建自动查找
- azure-devops - 在 Azure DevOps 中为不同环境提供不同测试用例集的最佳实践
- google-sheets - 谷歌电子表格条件格式 - 如果值高于则突出显示单元格
- jquery - 使用 jQuery 数组添加动态类名
- image-processing - 自适应傅里叶滤波器
- css - 角度/引导轮播中的图像不居中
- apache-nifi - NiFi:带有 QueryDatabaseTableRecord 组件的问题