Compare commits
No commits in common. "0c160a710d68c0359a5445564a3dd146666a1069" and "342178ed8f8753ae67e9dde97a60142d9ac3074e" have entirely different histories.
0c160a710d
...
342178ed8f
3 changed files with 6 additions and 76 deletions
|
@ -1,24 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copy backup of Forgejo database on VPS to local device
|
||||
|
||||
LOCAL_MOUNTPOINT="/media/my-passport"
|
||||
RCHAT_NOTIFIER="${HOME}/repos/utilities/rocketchat_notifier.sh"
|
||||
|
||||
mountpoint -q ${LOCAL_MOUNTPOINT}
|
||||
|
||||
if [ $? -eq 1 ]; then
|
||||
$RCHAT_NOTIFIER "backups" "error" \
|
||||
"Could not transfer Forgejo DB backup from VPS. Local backup disk (/media/my-passport) not mounted."
|
||||
exit
|
||||
fi
|
||||
|
||||
scp 'thomas@systemsobscure.net:/home/thomas/backups/forgejo/*.sql.gz' "${LOCAL_MOUNTPOINT}/vps_backups/mysql/forgejo/"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
BACKUP_FILE=$(ls -t "${LOCAL_MOUNTPOINT}/vps_backups/mysql/forgejo" | head -1)
|
||||
$RCHAT_NOTIFIER "backups" "success" "Copied Forgejo DB backup from VPS. File: ${BACKUP_FILE}"
|
||||
else
|
||||
$RCHAT_NOTIFIER "backups" "error" \
|
||||
"Could not transfer Forgejo DB backup from VPS."
|
||||
fi
|
|
@ -2,6 +2,11 @@
|
|||
|
||||
# Backup Hetzner Storagebox (Alpha) used by VPS for service data.
|
||||
|
||||
# USER=thomas
|
||||
# export HOME=/home/thomas
|
||||
# export XDG_RUNTIME_DIR=/run/user/1000
|
||||
# source /home/thomas/.env
|
||||
|
||||
NAS_DEVICE_NAME="Hetzner Storagebox (Alpha)"
|
||||
RCHAT_NOTIFIER="${HOME}/repos/utilities/rocketchat_notifier.sh"
|
||||
SOURCE_MOUNTPOINT="/media/hetzner-storagebox-alpha"
|
||||
|
@ -62,7 +67,7 @@ fi
|
|||
|
||||
echo "INFO Beginning backup."
|
||||
|
||||
sudo rsync -avzP --delete --no-perms \
|
||||
sudo rsync -rtv --progress --delete --no-perms \
|
||||
--exclude="*.lock" \
|
||||
--exclude="*.bleve/store/root.bolt" \
|
||||
--exclude="mongo/db/mongod.lock" \
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Backup MYSQL dir on VPS
|
||||
|
||||
RCHAT_NOTIFIER="${HOME}/repos/utilities/rocketchat_notifier.sh"
|
||||
|
||||
TARGET_NAME="VPS: /data/mysql"
|
||||
LOCAL_DISK_MOUNTPOINT="/media/my-passport"
|
||||
LOCAL_DIR="${LOCAL_DISK_MOUNTPOINT}/vps_backups/mysql"
|
||||
|
||||
# function clean_up() {
|
||||
# # Dismount NAS
|
||||
# echo "INFO Dismounting ${NAS_DEVICE_NAME}."
|
||||
# sudo umount /media/hetzner-storagebox-alpha/
|
||||
|
||||
# # Turn on VPN
|
||||
# echo "INFO Re-connecting Mullvad VPN."
|
||||
# mullvad connect
|
||||
# exit
|
||||
# }
|
||||
|
||||
# Check source disk is mounted
|
||||
if mountpoint -q ${LOCAL_DISK_MOUNTPOINT}; then
|
||||
echo "INFO Local disk /media/my-passport mounted. Proceeding."
|
||||
else
|
||||
echo "INFO Local disk not mounted. Mounting /media/my-passport."
|
||||
sudo mount ${LOCAL_DISK_MOUNTPOINT}
|
||||
if mountpoint -q ${LOCAL_MOUNTPOINT}; then
|
||||
echo "INFO Mounted /media/my-passport"
|
||||
else
|
||||
$RCHAT_NOTIFIER "backups" "error" \
|
||||
"Could not complete scheduled backup of ${TARGET_NAME}. Local backup disk (/media/my-passport) not mounted."
|
||||
clean_up
|
||||
fi
|
||||
fi
|
||||
|
||||
rsync -avzP --delete \
|
||||
thomas@systemsobcure.net:/data/mysql "${LOCAL_DIR}"
|
||||
|
||||
STATUS=$?
|
||||
if [ $STATUS -eq 0 ]; then
|
||||
$RCHAT_NOTIFIER "backups" "success" \
|
||||
"Created backup of ${TARGET_NAME}."
|
||||
# 23 = partial backup, 24 = some vanished files, both != major failure
|
||||
elif [ $STATUS -eq 23 ] || [ $STATUS -eq 24 ]; then
|
||||
$RCHAT_NOTIFIER "backups" "success" \
|
||||
"Created backup of ${TARGET_NAME}. A few files could not be copied."
|
||||
else
|
||||
$RCHAT_NOTIFIER "backups" "error" \
|
||||
"Failed to create backup of ${TARGET_NAME}: problem with rsync (exit code $STATUS)."
|
||||
fi
|
Loading…
Add table
Reference in a new issue