parent
9a23d1b5fd
commit
b28dac4036
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Stop on Error
|
||||
set -e
|
||||
|
||||
# Configure those to match your Planka Docker container names
|
||||
PLANKA_DOCKER_CONTAINER_POSTGRES="planka_postgres_1"
|
||||
PLANKA_DOCKER_CONTAINER_PLANKA="planka_planka_1"
|
||||
|
||||
# Create Temporary folder
|
||||
BACKUP_DATETIME=$(date --utc +%FT%H-%M-%SZ)
|
||||
mkdir -p $BACKUP_DATETIME-backup
|
||||
|
||||
# Dump DB into SQL File
|
||||
echo -n "Exporting postgres database ... "
|
||||
docker exec -t $PLANKA_DOCKER_CONTAINER_POSTGRES pg_dumpall -c -U postgres > $BACKUP_DATETIME-backup/postgres.sql
|
||||
echo "Success!"
|
||||
|
||||
# Export Docker Voumes
|
||||
echo -n "Exporting user-avatars ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/public/user-avatars /backup/user-avatars
|
||||
echo "Success!"
|
||||
echo -n "Exporting project-background-images ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/public/project-background-images /backup/project-background-images
|
||||
echo "Success!"
|
||||
echo -n "Exporting attachments ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$BACKUP_DATETIME-backup:/backup ubuntu cp -r /app/private/attachments /backup/attachments
|
||||
echo "Success!"
|
||||
|
||||
# Create tgz
|
||||
echo -n "Creating final tarball $BACKUP_DATETIME-backup.tgz ... "
|
||||
tar -czf $BACKUP_DATETIME-backup.tgz \
|
||||
$BACKUP_DATETIME-backup/postgres.sql \
|
||||
$BACKUP_DATETIME-backup/user-avatars \
|
||||
$BACKUP_DATETIME-backup/project-background-images \
|
||||
$BACKUP_DATETIME-backup/attachments
|
||||
echo "Success!"
|
||||
|
||||
#Remove source files
|
||||
echo -n "Cleaning up temporary files and folders ... "
|
||||
rm -rf $BACKUP_DATETIME-backup
|
||||
echo "Success!"
|
||||
|
||||
echo "Backup Complete!"
|
||||
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Stop on Error
|
||||
set -e
|
||||
|
||||
# Configure those to match your Planka Docker container names
|
||||
PLANKA_DOCKER_CONTAINER_POSTGRES="planka_postgres_1"
|
||||
PLANKA_DOCKER_CONTAINER_PLANKA="planka_planka_1"
|
||||
|
||||
# Extract tgz archive
|
||||
PLANKA_BACKUP_ARCHIVE_TGZ=$1
|
||||
PLANKA_BACKUP_ARCHIVE=$(basename $PLANKA_BACKUP_ARCHIVE_TGZ .tgz)
|
||||
echo -n "Extracting tarball $PLANKA_BACKUP_ARCHIVE_TGZ ... "
|
||||
tar -xzf $PLANKA_BACKUP_ARCHIVE_TGZ
|
||||
echo "Success!"
|
||||
|
||||
# Import Database
|
||||
echo -n "Importing postgres database ... "
|
||||
cat $PLANKA_BACKUP_ARCHIVE/postgres.sql | docker exec -i $PLANKA_DOCKER_CONTAINER_POSTGRES psql -U postgres
|
||||
echo "Success!"
|
||||
|
||||
# Restore Docker Volumes
|
||||
echo -n "Importing user-avatars ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/user-avatars /app/public/
|
||||
echo "Success!"
|
||||
echo -n "Importing project-background-images ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/project-background-images /app/public/
|
||||
echo "Success!"
|
||||
echo -n "Importing attachments ... "
|
||||
docker run --rm --volumes-from $PLANKA_DOCKER_CONTAINER_PLANKA -v $(pwd)/$PLANKA_BACKUP_ARCHIVE:/backup ubuntu cp -rf /backup/attachments /app/private/
|
||||
echo "Success!"
|
||||
|
||||
echo -n "Cleaning up temporary files and folders ... "
|
||||
rm -r $PLANKA_BACKUP_ARCHIVE
|
||||
echo "Success!"
|
||||
|
||||
echo "Restore complete!"
|
||||
Loading…
Reference in New Issue