1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-24 07:48:38 +00:00
dockerfiles/dokuwiki/admin.sh
2018-07-20 15:20:56 +08:00

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