dockerfiles/dokuwiki/admin.sh

49 lines
993 B
Bash
Executable File

#!/bin/bash
#
# DokuWiki backup/restore script
#
# WARNING: It will mount current directory as a volume.
# Related files should be in current directory.
#
cd "$(dirname "${BASH_SOURCE[0]}")"
mkdir -p backups
ACTION=${1:?action is required}
FILENAME=${2:-dw-backup-$(date +%Y%m%d-%H%M%S).tar.gz}
CONTAINER=${3:-dokuwiki_dokuwiki_1}
do_help() {
echo 'USAGE: ./admin.sh ACTION [FILENAME] [CONTAINER]'
}
do_backup() {
echo "backup to $FILENAME"
docker run --rm --volumes-from $CONTAINER -v `pwd`/backups:/backup alpine \
tar czf /backup/$FILENAME /var/www/html
}
do_restore() {
echo "restore from $FILENAME"
docker run --rm --volumes-from $CONTAINER -v `pwd`/backups:/backup alpine \
tar xzf /backup/$FILENAME -C /
}
main() {
case "$ACTION" in
backup)
do_backup
;;
restore)
do_restore
;;
*)
do_help
exit 1;
;;
esac
}
main