Files
snippets/docker/dockup.sh

44 lines
1.0 KiB
Bash

#!/bin/bash
set -e
# Docker backup & restore script
#
# curl -fsSL https://gist.github.com/envoyr/fcf09ef95cf372475835761ece34c44f/raw/dockup.sh -o /usr/local/bin/dockup
# sudo chmod +x /usr/local/bin/dockup
# dockup backup database /var/lib/mysql baqckup.tar
ACTION=$1
SERVICE=$2
DIRECTORY=$3
BACKUP_FILE=$4
run_backup() {
docker run --rm --volumes-from $SERVICE -v $(pwd):/backup ubuntu tar cvf /backup/$BACKUP_FILE $DIRECTORY
echo "Backup completed!"
}
run_restore() {
docker run --rm --volumes-from $SERVICE -v $(pwd):/backup ubuntu bash -c "cd $DIRECTORY && tar xvf /backup/$BACKUP_FILE --strip 1"
echo "Restore completed!"
}
run() {
if [[ "${UID}" -ne 0 ]]; then
echo "You need to run this script as root"
exit 1
fi
case $ACTION in
backup)
run_backup
;;
retsore)
run_restore
;;
*)
echo "Please set your backup / restore method in first argument."
exit 1
;;
esac
}
run