From: Advaith Menon Date: Mon, 19 Jan 2026 18:31:35 +0000 (-0500) Subject: Add backup scripts X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;ds=inline;p=simplescripts.git Add backup scripts * Add mariadb.sh to backup MariaDB using mariabackup * Add folder.sh to backup a folder to S3 --- diff --git a/unix/backup/folder.sh b/unix/backup/folder.sh new file mode 100755 index 0000000..da3cb0b --- /dev/null +++ b/unix/backup/folder.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Folder Backup Script +# Backs up a folder. + +FOLDER_LOC="$1" +APPLICATION_NAME="$2" +TEMP_LOC="/tmp" +S3_BUCKET="server-backup.devinivas.org" +S3_LOCATION="testsrv1.intranet.devinivas.org" + +aws=$(which aws) + + +if [[ -f "$TEMP_LOC/$APPLICATION_NAME.tar.xz" ]]; then + rm -f "$TEMP_LOC/$APPLICATION_NAME.tar.xz" +fi + +tar -cJvf "$TEMP_LOC/$APPLICATION_NAME.tar.xz" -C "$FOLDER_LOC" . +"$aws" s3 cp "$TEMP_LOC/$APPLICATION_NAME.tar.xz" \ + "s3://$S3_BUCKET/$S3_LOCATION/$APPLICATION_NAME-backup-$(date +%Y%m%d%H%M%S).tar.xz" diff --git a/unix/backup/mariadb.sh b/unix/backup/mariadb.sh new file mode 100755 index 0000000..73f66c5 --- /dev/null +++ b/unix/backup/mariadb.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# MariaDB Backup Script for Linux +# This script backs up all MariaDB output. + +# MariaDB auth should be done via unix_socket + +set -e + +MDB_USER="backup" # change this! +MDB_BACKUP_FOLDER="/tmp/mariadb-backup-script" +S3_BUCKET="server-backup.devinivas.org" +S3_LOCATION="testsrv1.intranet.devinivas.org" + + +mbk=$(which mariadb-backup) +aws=$(which aws) + + +if [[ -d "${MDB_BACKUP_FOLDER}" ]]; then + rm -rf "${MDB_BACKUP_FOLDER}" +fi + +if [[ -f "/tmp/mariadb-backup.tar.xz" ]]; then + rm -f "/tmp/mariadb-backup.tar.xz" +fi + +mkdir "${MDB_BACKUP_FOLDER}" +"$mbk" --backup --target-dir="${MDB_BACKUP_FOLDER}" --user="$MDB_USER" +tar -cJvf "/tmp/mariadb-backup.tar.xz" -C "${MDB_BACKUP_FOLDER}" . +"$aws" s3 cp "/tmp/mariadb-backup.tar.xz" \ + "s3://$S3_BUCKET/$S3_LOCATION/mariadb-backup-$(date +%Y%m%d%H%M%S).tar.xz"