Compare commits

..

2 Commits

Author SHA1 Message Date
Nathan Steel ad9b8154f4 Add WIP borg backup for WSL (Needs scheduler stuff) 5 months ago
Nathan Steel 5b49f1ab5f Add USB backup for fedora install 5 months ago

@ -1,3 +1,16 @@
# Mount the drive letter, to a location # Mount the drive letter, to a location
sudo mount -t drvfs K: /mnt/k sudo mount -t drvfs K: /mnt/k
# Using K as it's super irregular, so suitable for backup in-case other drives are mounted # Using K as it's super irregular, so suitable for backup in-case other drives are mounted
# /mnt/c/Users/Nathan/Documents
/bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh -d /mnt/c/Users/Nathan/NAS -b /mnt/k/borg/NAS
# \
# -r borg_avps \
# -R /home/nathan/BACKUP/rn3/cron
/bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh -d /mnt/c/Users/Nathan/bigNAS -b /mnt/k/borg/bigNAS
/bin/bash /home/nathan/git/scripts/backup/borg/directory_backup.sh -d /mnt/c/Users/Nathan/git -b /mnt/k/borg/git
# restore as different user?
# borg --bypass-lock [normal command stuff here]

@ -0,0 +1,59 @@
#!/bin/sh
# 0 * * * * /home/nathan/Documents/backup.sh
# Check if the USB is plugged in (Gnome auto-mounts to /run/media)
USB="/run/media/$USER/sd_backup";
if [[ ! -d $USB ]]; then
exit 1 # sd_backup is not plugged in;
fi
USB_DIR="/fedora/borg";
DIRS="git nas 360ss";
BASE_DIR="/home/nathan/Documents/";
# Basically the code from directory_backup in scripts.git
borg_backup (){
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p $BACKUP_DIR
borg init --encryption=none $BACKUP_DIR
fi
export BORG_REPO=$BACKUP_DIR
borg create ::{hostname}-{now} $DIR
}
borg_prune () {
# Keep last 12 hours, 7 days, 4 weeks worth of backups
# LESS for local to save storage
borg prune \
--glob-archives '{hostname}-*' \
--keep-hourly 12 \
--keep-daily 7 \
--keep-weekly 4
# Then clear up the disk space of the files removed via prune
borg compact
}
# Also do an rsync, so there's an accessible clone of data on USB
# makes it easier to drop things between PCs, but it is a CLONE
rsync_backup (){
if [ ! -d "$CLONE_DIR" ]; then
mkdir -p $CLONE_DIR;
fi
# avh with --dry-run when testing
# Contents of directory for rsync (extra /)
rsync -avh $DIR/ $CLONE_DIR \
--delete-before
}
for bDir in $DIRS
do
BACKUP_DIR=$USB$USB_DIR/$bDir;
CLONE_DIR=$USB/fedora/rsync/$bDir;
DIR=$BASE_DIR$bDir;
borg_backup
borg_prune
rsync_backup
done
Loading…
Cancel
Save