#!/bin/sh VERSION="v2023040800" # initial erstellt VERSION="v2023040900" # Fehĺerbehoben und übersichtlicher gestaltet ################################################################################ OLD_DIR="$(pwd)" BACKUP_DIR="/home/Backup/dokuwiki" HTTP_DIR="/var/www" WIKI_INSTANCES="wiki privat kinderwiki" if [ x == "x${1}" ] || [ ! -d "${1}" ] then echo "USAGE: ${0} /path/to/new/dokuwiki" exit 1 fi DOKUWIKI_DIR="$(cd ${1}; pwd)" test -d "${BACKUP_DIR}" || (echo "Not found: ${BACKUP_DIR}"; exit 1) for WIKI in ${WIKI_INSTANCES} do WIKI_DIR="${HTTP_DIR}/${WIKI}" cd "${WIKI_DIR}" || (echo "Not found: ${WIKI_DIR}"; exit 1) if [ -d "${BACKUP_DIR}/${WIKI}-data" ] then DATE="$(date +'%F_%H-%M-%S')" ARCHIVE="${BACKUP_DIR}/${WIKI}-data.${DATE}" mv "${BACKUP_DIR}/${WIKI}-data" "${ARCHIVE}" echo "Found existing data backup, moved to ${ARCHIVE}" fi mv "${WIKI_DIR}/data" "${BACKUP_DIR}/${WIKI}-data" tar -czf "${BACKUP_DIR}/${WIKI}-conf.tar.gz" \ $(ls \ conf/local.php \ conf/userstyle.css \ conf/userscript.js \ conf/*.auth.php \ conf/*.local.conf \ conf/*.local.json \ conf/*.local.php \ conf/*.protected.php \ 2> /dev/null) rm -fr "${WIKI_DIR}" cp -a "${DOKUWIKI_DIR}" "${WIKI_DIR}" rm -fr "${WIKI_DIR}/data" mv "${BACKUP_DIR}/${WIKI}-data" "${WIKI_DIR}/data" tar -xzf "${BACKUP_DIR}/${WIKI}-conf.tar.gz" -C "${WIKI_DIR}"/ ######################################################## ### Rechte vom neuen Verzeichnis setzen /usr/local/sbin/dokuwiki-reparieren.sh "${WIKI_DIR}"/ ######################################################## done cd "${OLD_DIR}" || (echo "Not found: ${OLD_DIR}"; exit 1)