Skip to content

Backup using tar.gz

  • simple backup script example

Backup

  • backup and move to remote backup server
Bash
touch backup.sh && chmod +x backup.sh && nano backup.sh
Bash
#!/bin/bash


echo "backup initiated.."

sudo tar cvzf <backup-file-name>-$(date +%F).tar.gz docker-compose.yml redis_data db_data example-folders > /dev/null
rsync -e ssh -avzH --progress --info=progress2 --remove-source-files <backup-file-name>-$(date +%F).tar.gz  <user>@<server-or-IP>:/path/backup/

echo "backup done"

  • Fancier way (Put it in vars)
Bash
#!/bin/bash

BACKUP_NAME="<backup-file-name>-$(date +%F).tar.gz"
WHAT_2_BACKUP="docker-compose.yml redis_data db_data example-folders"
REMOTE_USER="user"
REMOTE_IP="192.168.11.125"
REMOTE_PATH="/backup/dir"

echo "backup initiated.."

sudo tar cvzf $BACKUP_NAME $WHAT_2_BACKUP > /dev/null
rsync -e ssh -avzH --progress --info=progress2 --remove-source-files $BACKUP_NAME  $REMOTE_USER@$REMOTE_IP:$REMOTE_PATH
echo "backup done"

Restore

  • copy tar.gz file from backup server to desired server/machine
Bash
sudo tar --same-owner -xvf <backup-file-name>-<date>.tar.gz