如何快速导入nextCloud的LDAP设置?
- By : Will
- Category : Cloud storage
Cloud storage
1 前言
一个问题,一篇文章,一出故事。
笔者今天尝试从一个NextCloud迁移配置到一个新的NextCloud,因此本章将实现NextCloud的配置文件快速导入导出。
2 最佳实践
2.1 导出配置
occ ldap:show-config s04 --show-password --output=json > ldap_s04_config.json
2.2 导入配置
2.2.1 创建导入脚本
mkdir -p ~/scripts/ vim ~/scripts/importLdapConfig.sh
加入如下配置,
#!/bin/bash
# 源配置文件
configFile="ldap_s04_config.json"
# 源配置ID(JSON中的键,此处为s04)
sourceConfig="s04"
# 目标LDAP配置ID(Nextcloud中的新ID)
targetConfig="s01"
occ() {
sudo -u apache /usr/bin/php -d apc.enable_cli=1 -d memory_limit=1024M /var/www/nextcloud/occ "$@"
}
# 检查jq是否安装
if ! command -v jq &> /dev/null; then
echo "错误: 请先安装 jq(yum install jq 或 apt install jq)"
exit 1
fi
# 提取所有键并循环设置
keys=$(jq -r ".${sourceConfig} | keys[]" "$configFile")
for key in $keys; do
# 处理数组类型的值(如ldapBaseUsers)
if jq -e ".${sourceConfig}.${key} | type == \"array\"" "$configFile" &>/dev/null; then
value=$(jq -r ".${sourceConfig}.${key} | join(\",\")" "$configFile")
else
value=$(jq -r ".${sourceConfig}.${key}" "$configFile")
fi
echo occ ldap:set-config "$targetConfig" "$key" "$value"
occ ldap:set-config "$targetConfig" "$key" "$value"
done
2.2.2 执行导入脚本
bash ~/scripts/importLdapConfig.sh
没有评论