diff options
-rwxr-xr-x | scripts/backup-bitlbee | 27 | ||||
-rw-r--r-- | system/backup-bitlbee.service | 11 | ||||
-rw-r--r-- | system/backup-bitlbee.timer | 10 |
3 files changed, 48 insertions, 0 deletions
diff --git a/scripts/backup-bitlbee b/scripts/backup-bitlbee new file mode 100755 index 0000000..3c43e60 --- /dev/null +++ b/scripts/backup-bitlbee @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +timestamp="$(date +"%Y%m%d-%H%M%S")-" + +# If the backup location doesn't exist yet, create it +if [ ! -d $bitlbee_folder_destination ]; then + mkdir -p $bitlbee_folder_destination +fi + +# If the parent directory of the backup source exists, enter it +if [ -d $bitlbee_parent_source ]; then + cd $bitlbee_parent_source +else + exit 1 +fi + +echo "$bitlbee_folder_source -> $bitlbee_folder_destination$timestamp$bitlbee_folder_source$tar_suffix$gpg_suffix" +# tar in /tmp +tar cfJ "$tmp$timestamp$bitlbee_folder_source$tar_suffix" $bitlbee_folder_source +# gpg to backup_location +gpg -e \ + -r "$gpg_public_key" \ + -o $bitlbee_folder_destination$timestamp$bitlbee_folder_source$tar_suffix$gpg_suffix \ + "$tmp$timestamp$bitlbee_folder_source$tar_suffix" +# delete tar in /tmp +rm -f "$tmp$timestamp$bitlbee_folder_source$tar_suffix" + diff --git a/system/backup-bitlbee.service b/system/backup-bitlbee.service new file mode 100644 index 0000000..5ab261a --- /dev/null +++ b/system/backup-bitlbee.service @@ -0,0 +1,11 @@ +[Unit] +Description=Backup Bitlbee configs +ConditionFileIsExecutable=/usr/lib/systemd/scripts/backup-bitlbee + +[Service] +EnvironmentFile=/etc/backup-settings +Nice=19 +IOSchedulingClass=2 +IOSchedulingPriority=7 +ExecStart=/usr/lib/systemd/scripts/backup-bitlbee + diff --git a/system/backup-bitlbee.timer b/system/backup-bitlbee.timer new file mode 100644 index 0000000..2ff52ce --- /dev/null +++ b/system/backup-bitlbee.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Backup of Bitlbee configuration every 2nd and 17th of a month + +[Timer] +# Every 2nd and 17th of each month at 5:00 +OnCalendar=*-*-2,17 05:00 +Persistent=true + +[Install] +WantedBy=timers.target |