From e0139b07653daa94aacbfc048cc152a21e4cd3e9 Mon Sep 17 00:00:00 2001 From: Micke Nordin Date: Tue, 13 Jun 2023 12:15:19 +0200 Subject: [PATCH] BAckups: Fix db backups DB backup dir clashed with statistics script storage location, and also some permission errors. diff --git a/templates/script/backupdb.erb.sh b/templates/script/backupdb.erb.sh index b35acbc..1eb7992 100644 --- a/templates/script/backupdb.erb.sh +++ b/templates/script/backupdb.erb.sh @@ -6,11 +6,16 @@ sleep $((16#$(ip a | grep "link/ether" | head -1 | awk -F ':' '{print $6}' | awk number_of_full_to_keep="<%= @full_backup_retention %>" backup="${1}" +if [[ -z ${backup} ]]; then + backup="backup1.$(hostname -d)" +fi if ! [[ ${backup} =~ backup1.*sunet.se$ ]]; then echo "Usage: ${0} " echo "Example: ${0} backup1.sunet.drive.sunet.se" fi backup_dir="/opt/backups" +backup_dir_long="${backup_dir}/backups" +mkdir -p ${backup_dir} bucket="db-backups" mirror="<%= @customer %>-<%= @environment %>-mirror" if [[ ${mirror} =~ common-(test|prod)-mirror ]]; then @@ -23,11 +28,8 @@ ssh ${backup} "sudo /home/script/bin/backup_db.sh" echo "Cleaning up old backups for ${backup}" ssh ${backup} "sudo /home/script/bin/purge_backups.sh /opt/mariadb_backup/backups/" echo "Copying backups here" -mkdir -p ${backup_dir} -scp script@${backup}:/opt/mariadb_backup/backups/$(date +%Y/%m/%d)/*.gz ${backup_dir} +scp script@${backup}:/opt/mariadb_backup/backups/$(date +%Y/%m/%d)/*.gz ${backup_dir_long} echo "Copying backups to remote bucket" rclone mkdir ${mirror}:${bucket} duplicity --full-if-older-than 1M --tempdir /mnt --archive-dir /mnt --no-encryption ${backup_dir} rclone://${mirror}:/${bucket} duplicity remove-all-but-n-full ${number_of_full_to_keep} --tempdir /mnt --archive-dir /mnt --force rclone://${mirror}:/${bucket} -echo "cleaning up" -rm -r ${backup_dir} diff --git a/templates/scriptreceiver/backup_db.erb.sh b/templates/scriptreceiver/backup_db.erb.sh index 025a338..3e15f25 100644 --- a/templates/scriptreceiver/backup_db.erb.sh +++ b/templates/scriptreceiver/backup_db.erb.sh @@ -11,5 +11,7 @@ else fi docker exec ${container} /do_backup.sh ${customer} +chown root:script /opt/mariadb_backup/ +chmod 750 /opt/mariadb_backup/ chmod 755 ${backupdir} chown -R script:root ${backupdir} --- templates/script/backupdb.erb.sh | 10 ++++++---- templates/scriptreceiver/backup_db.erb.sh | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/templates/script/backupdb.erb.sh b/templates/script/backupdb.erb.sh index b35acbc..1eb7992 100644 --- a/templates/script/backupdb.erb.sh +++ b/templates/script/backupdb.erb.sh @@ -6,11 +6,16 @@ sleep $((16#$(ip a | grep "link/ether" | head -1 | awk -F ':' '{print $6}' | awk number_of_full_to_keep="<%= @full_backup_retention %>" backup="${1}" +if [[ -z ${backup} ]]; then + backup="backup1.$(hostname -d)" +fi if ! [[ ${backup} =~ backup1.*sunet.se$ ]]; then echo "Usage: ${0} " echo "Example: ${0} backup1.sunet.drive.sunet.se" fi backup_dir="/opt/backups" +backup_dir_long="${backup_dir}/backups" +mkdir -p ${backup_dir} bucket="db-backups" mirror="<%= @customer %>-<%= @environment %>-mirror" if [[ ${mirror} =~ common-(test|prod)-mirror ]]; then @@ -23,11 +28,8 @@ ssh ${backup} "sudo /home/script/bin/backup_db.sh" echo "Cleaning up old backups for ${backup}" ssh ${backup} "sudo /home/script/bin/purge_backups.sh /opt/mariadb_backup/backups/" echo "Copying backups here" -mkdir -p ${backup_dir} -scp script@${backup}:/opt/mariadb_backup/backups/$(date +%Y/%m/%d)/*.gz ${backup_dir} +scp script@${backup}:/opt/mariadb_backup/backups/$(date +%Y/%m/%d)/*.gz ${backup_dir_long} echo "Copying backups to remote bucket" rclone mkdir ${mirror}:${bucket} duplicity --full-if-older-than 1M --tempdir /mnt --archive-dir /mnt --no-encryption ${backup_dir} rclone://${mirror}:/${bucket} duplicity remove-all-but-n-full ${number_of_full_to_keep} --tempdir /mnt --archive-dir /mnt --force rclone://${mirror}:/${bucket} -echo "cleaning up" -rm -r ${backup_dir} diff --git a/templates/scriptreceiver/backup_db.erb.sh b/templates/scriptreceiver/backup_db.erb.sh index 025a338..3e15f25 100644 --- a/templates/scriptreceiver/backup_db.erb.sh +++ b/templates/scriptreceiver/backup_db.erb.sh @@ -11,5 +11,7 @@ else fi docker exec ${container} /do_backup.sh ${customer} +chown root:script /opt/mariadb_backup/ +chmod 750 /opt/mariadb_backup/ chmod 755 ${backupdir} chown -R script:root ${backupdir}