diff options
author | David Runge <dave@sleepmap.de> | 2015-03-20 00:58:54 +0100 |
---|---|---|
committer | David Runge <dave@sleepmap.de> | 2015-03-20 00:58:54 +0100 |
commit | 1bbe8fe9d4bd4f91bdd93b0350dfae1a68621dc9 (patch) | |
tree | 98241c4df55b55162579ae64b6cff34d07ff11c6 | |
parent | 4a9a58a1c7c27d87fdfaa1e904b03eebc5be885e (diff) | |
download | crypted-backups-1bbe8fe9d4bd4f91bdd93b0350dfae1a68621dc9.tar.gz crypted-backups-1bbe8fe9d4bd4f91bdd93b0350dfae1a68621dc9.tar.bz2 crypted-backups-1bbe8fe9d4bd4f91bdd93b0350dfae1a68621dc9.tar.xz crypted-backups-1bbe8fe9d4bd4f91bdd93b0350dfae1a68621dc9.zip |
backup-etc: Adding first version of backup-etc script, service and timer.
-rwxr-xr-x | scripts/backup-etc | 26 | ||||
-rw-r--r-- | system/backup-etc.service | 11 | ||||
-rw-r--r-- | system/backup-etc.timer | 10 |
3 files changed, 47 insertions, 0 deletions
diff --git a/scripts/backup-etc b/scripts/backup-etc new file mode 100755 index 0000000..7dc271c --- /dev/null +++ b/scripts/backup-etc @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +timestamp="$(date +"%Y%m%d-%H%M%S")-" + +# If the backup location doesn't exist yet, create it +if [ ! -d $etc_folder_destination ]; then + mkdir -p $etc_folder_destination +fi + +if [ -d $etc_parent_source ]; then + cd $etc_parent_source +else + exit 1 +fi + +echo "$etc_folder_source -> $etc_folder_destination$timestamp$etc_folder_source$tar_suffix$gpg_suffix" +# tar in /tmp +tar cfJ $tmp$timestamp$etc_folder_source$tar_suffix $etc_folder_source +# gpg to etc_folder_destination +gpg -e \ + -r "$gpg_public_key" \ + -o $etc_folder_destination$timestamp$etc_folder_source$tar_suffix$gpg_suffix \ + $tmp$timestamp$etc_folder_source$tar_suffix +# delete tar in /tmp +rm -f $tmp$timestamp$etc_folder_source$tar_suffix + diff --git a/system/backup-etc.service b/system/backup-etc.service new file mode 100644 index 0000000..ea7c488 --- /dev/null +++ b/system/backup-etc.service @@ -0,0 +1,11 @@ +[Unit] +Description=Backup /etc directory +ConditionFileIsExecutable=/usr/lib/systemd/scripts/backup-etc + +[Service] +EnvironmentFile=/etc/backup-settings +Nice=19 +IOSchedulingClass=2 +IOSchedulingPriority=7 +ExecStart=/usr/lib/systemd/scripts/backup-etc + diff --git a/system/backup-etc.timer b/system/backup-etc.timer new file mode 100644 index 0000000..a183646 --- /dev/null +++ b/system/backup-etc.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Backup /etc directory every Monday + +[Timer] +# Every Monday +OnCalendar=Mon *-*-* 05:00 +Persistent=true + +[Install] +WantedBy=timers.target |