diff --git a/scripts/backup/backup.sh b/scripts/backup/backup.sh new file mode 100644 index 0000000..0aa9c3c --- /dev/null +++ b/scripts/backup/backup.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# get the current datetime and create a directory with that name +NOW=$(date +"%Y-%m-%d_%H-%M-%S") +mkdir -p /opt/backup/$NOW + +# copy all files in directory to the backup directory +cp -r /root/Portfolio/data-backend /opt/backup/$NOW + +# run pg_dump to backup the database +pg_dump postgresql://DB_USERNAME:DB_PASSWORD@localhost:5432/DATABASE > /opt/backup/$NOW/db.sql + +# compress the backup directory +tar -zcvf /opt/backup/$NOW.tar.gz /opt/backup/$NOW + +# remove the uncompressed backup directory +rm -rf /opt/backup/$NOW + +# scp the backup to the remote server +scp /opt/backup/$NOW.tar.gz USERNAME@SERVER_IP:/home/zalohy/backups/$NOW.tar.gz \ No newline at end of file