From cd15d76a6a2cabe9aabe27b6937e08c4ce22ab88 Mon Sep 17 00:00:00 2001 From: David Runge Date: Thu, 19 Mar 2015 02:21:42 +0100 Subject: scripts/backup-{firefox,thunderbird}: Adding first version of backup scripts for Firefox and Thunderbird. --- scripts/backup-firefox | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/backup-firefox (limited to 'scripts/backup-firefox') diff --git a/scripts/backup-firefox b/scripts/backup-firefox new file mode 100755 index 0000000..9b80d5f --- /dev/null +++ b/scripts/backup-firefox @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +profiles=( ) # List of profiles +timestamp="$(date +"%Y%m%d-%H%M%S")-" +user_name=$(whoami) +user="$user_name/" +firefox_pid=$(ps -C firefox u | grep $user_name | awk '{print $2}') # Current Firefox pid +psd=$(systemctl is-active psd) # psd activation + +# If the backup location doesn't exist yet, create it +if [ ! -d $firefox_folder_destination ]; then + mkdir -p $firefox_folder_destination +fi + +# If the parent directory of the backup source exists, enter it +if [ -d $home$user$firefox_folder_source ]; then + cd $home$user$firefox_folder_source +else + exit 1 +fi + +# Check, if Firefox is not running +if [[ -z "$firefox_pid" ]]; then + for subfolder in $home$user$firefox_folder_source* + do + subfolder=$(basename $subfolder) + if [[ $subfolder != Crash* ]] && [[ $subfolder != profiles.ini ]] && [[ $subfolder != *-backup ]]; then + profiles=( ${profiles[@]} $subfolder ) + fi + done +else + # Check, if psd is active + if [[ $psd = "active" ]]; then + for subfolder in $home$user$firefox_folder_source* + do + subfolder=$(basename $subfolder) + if [[ $subfolder != Crash* ]] && [[ $subfolder != profiles.ini ]] && [[ $subfolder = *-backup ]]; then + profiles=( ${profiles[@]} $subfolder ) + fi + done + else + echo "Firefox is still running. Skipping backup." + fi +fi + +for profile in $profiles +do + echo "$profile --> $firefox_folder_destination$timestamp$profile$tar_suffix$gpg_suffix" + # tar to /tmp + tar cfJ $tmp$timestamp$profile$tar_suffix -h $profile + # gpg to backup location + gpg -e \ + -r "$gpg_public_key" \ + -o "$firefox_folder_destination$timestamp$profile$tar_suffix$gpg_suffix" \ + $tmp$timestamp$profile$tar_suffix + # remove tar in /tmp + rm -f $tmp$timestamp$profile$tar_suffix +done -- cgit v1.2.3-70-g09d2