Thunderbird backup and restore scripts
This commit is contained in:
parent
7d558f3a3c
commit
fd32511cf5
55
arch-config/scripts/pieces/thunderbird-backup.sh
Executable file
55
arch-config/scripts/pieces/thunderbird-backup.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# prompt for password
|
||||
echo -n "Password: "
|
||||
read -s -r pass
|
||||
echo
|
||||
|
||||
# prompt a second time
|
||||
echo -n "Repeat Password: "
|
||||
read -s -r pass2
|
||||
echo
|
||||
|
||||
# check correctness
|
||||
if [ ! "$pass" = "$pass2" ]; then
|
||||
echo "Passwords don't match!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# go to home dir
|
||||
cd "$HOME"
|
||||
|
||||
# get current date
|
||||
currdate="$(date +%Y-%m-%d)"
|
||||
|
||||
# create backup directory
|
||||
mkdir -p "$HOME/thunderbird-backup/default-release"
|
||||
|
||||
# copy stuff to backup directory
|
||||
# * breaks with quotes
|
||||
cp -r $HOME/.thunderbird/*.default-release/* "$HOME/thunderbird-backup/default-release"
|
||||
|
||||
# create archive from backup
|
||||
tar -cv -I"zstd -19 -T0" -f thunderbird-backup-${currdate}.tar.zst thunderbird-backup/default-release
|
||||
|
||||
# remove backup dir
|
||||
rm -rf "$HOME/thunderbird-backup"
|
||||
|
||||
# encrypt backup archive
|
||||
echo '$pass' | gpg -c --batch --yes --passphrase-fd 0 thunderbird-backup-${currdate}.tar.zst
|
||||
|
||||
# remove unencrypted archive
|
||||
rm thunderbird-backup-${currdate}.tar.zst
|
||||
|
||||
# put encrypted archive into backups folder
|
||||
mv thunderbird-backup-${currdate}.tar.zst.gpg "$HOME/Nextcloud/backups/"
|
||||
|
||||
# remove more than the last 3 backups
|
||||
#find "$HOME/Nextcloud/backups/" -name "thunderbird-backup-*\.tar.zst.gpg" | sort -r | tail -n +4
|
||||
mapfile -t old_backups < <( find "$HOME/Nextcloud/backups/" -name "thunderbird-backup-*\.tar.zst.gpg" | sort -r | tail -n +4 )
|
||||
|
||||
for backup in "${old_backups[@]}"; do
|
||||
echo "Removing old backup. $backup"
|
||||
rm "$backup"
|
||||
done
|
34
arch-config/scripts/pieces/thunderbird-restore.sh
Executable file
34
arch-config/scripts/pieces/thunderbird-restore.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# prompt for password
|
||||
echo -n "Password: "
|
||||
read -s -r pass
|
||||
echo
|
||||
|
||||
# go to home dir
|
||||
cd "$HOME"
|
||||
|
||||
# find latest backup version
|
||||
latestbackup="$(find "$HOME/Nextcloud/backups/" -name "thunderbird-backup-*\.tar.zst.gpg" | sort | tail -1)"
|
||||
|
||||
# decrypt backup
|
||||
echo '$pass' | gpg --decrypt-file --batch --yes --passphrase-fd 0 "$latestbackup"
|
||||
|
||||
# name of decrypted file
|
||||
latestdecrypted="${latestbackup%.gpg}"
|
||||
|
||||
# expand archive
|
||||
tar -xvf "$latestdecrypted"
|
||||
|
||||
# remove unencrypted archive
|
||||
rm "$latestdecrypted"
|
||||
|
||||
# remove current thunderbird config
|
||||
rm -rf $HOME/.thunderbird/*.default-release/*
|
||||
|
||||
# copy configuration
|
||||
cp -r $HOME/thunderbird-backup/default-release/* $HOME/.thunderbird/*.default-release/
|
||||
|
||||
# remove folder
|
||||
rm -rf "$HOME/thunderbird-backup"
|
Loading…
Reference in New Issue
Block a user