From bff9db860a216b90d16672515415e7d9f5ccd886 Mon Sep 17 00:00:00 2001 From: Thibaud Date: Mon, 15 Oct 2018 17:45:43 +0200 Subject: [PATCH 1/5] Add backup configuration --- backup.service | 15 +++++++++++++++ backup.timer | 9 +++++++++ exclude-list-S551LN.txt | 42 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 backup.service create mode 100644 backup.timer create mode 100644 exclude-list-S551LN.txt diff --git a/backup.service b/backup.service new file mode 100644 index 0000000..ad24c6c --- /dev/null +++ b/backup.service @@ -0,0 +1,15 @@ +[Unit] +Description=Borg backup + +[Service] +Type=oneshot +Environment=BORG_REPO=/mnt/data/thibaud/backups/S551LN/S551LN.borg/ +Environment=BORG_HOSTNAME_IS_UNIQUE=yes +Environment=BORG_PASSPHRASE=***REMOVED*** +Environment=BORG_KEY_FILE=/home/thibaud/.config/borg/keys/S551LN_borg.2 +Nice=19 +ExecStart=/usr/local/bin/borg create --list --stats --filter AME --exclude-from=/mnt/data/thibaud/backups/S551LN/exclude-list-S551LN.txt ::{now} / +ExecStartPost=/usr/local/bin/borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6 --keep-within 2d --stats :: + +[Install] +WantedBy=multi-user.target diff --git a/backup.timer b/backup.timer new file mode 100644 index 0000000..f8e9e25 --- /dev/null +++ b/backup.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Borgbackup + +[Timer] +OnBootSec=30min +OnCalendar=0/4:00:00 + +[Install] +WantedBy=timers.target diff --git a/exclude-list-S551LN.txt b/exclude-list-S551LN.txt new file mode 100644 index 0000000..b2380a0 --- /dev/null +++ b/exclude-list-S551LN.txt @@ -0,0 +1,42 @@ +/proc +/sys +/dev +/media +/mnt +/cdrom +/tmp +/run +/var/cache +/var/tmp +/var/run +/home/*/.thumbnails +/home/*/.cache/chromium +/home/*/.cache/mozilla +/home/*/.cache/wine +/home/*/.steam/steam/steamapps +/home/*/.steam/steam/config/htmlcache +/home/*/.local/share/Trash +/home/*/.mozilla/firefox/*.default/Cache +/home/*/.gvfs +/swapfile + +/var/lib/flatpak/repo/ + +/home/*/.cache +/home/*/.m2 +/home/*/Vidéos +/home/*/Musique +/home/*/Téléchargements +/home/*/Virtualbox_VMS +/home/*/ISO +/home/*/Android + +/mnt/data/thibaud/backups +/mnt/data/thibaud/Vidéos +/mnt/data/thibaud/Musique +/mnt/data/thibaud/Téléchargements +/mnt/data/thibaud/Virtualbox_VMS +/mnt/data/thibaud/tmp +/mnt/data/thibaud/ISO +/mnt/data/thibaud/Android +*.!qB -- 2.45.1 From 83432cef35ea4643e010ca9d7796f3536420cfd2 Mon Sep 17 00:00:00 2001 From: Thibaud Date: Wed, 19 Dec 2018 16:49:18 +0100 Subject: [PATCH 2/5] Update exclude list --- exclude-list-S551LN.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/exclude-list-S551LN.txt b/exclude-list-S551LN.txt index b2380a0..1dec2bd 100644 --- a/exclude-list-S551LN.txt +++ b/exclude-list-S551LN.txt @@ -2,7 +2,6 @@ /sys /dev /media -/mnt /cdrom /tmp /run @@ -24,6 +23,7 @@ /home/*/.cache /home/*/.m2 +/home/*/.gradle /home/*/Vidéos /home/*/Musique /home/*/Téléchargements @@ -31,6 +31,9 @@ /home/*/ISO /home/*/Android +/mnt/!data +/mnt/data/thibaud/.m2 +/mnt/data/thibaud/.gradle /mnt/data/thibaud/backups /mnt/data/thibaud/Vidéos /mnt/data/thibaud/Musique -- 2.45.1 From 10b7d99e87a0ad6db44053565ef7e1081ccc3a9a Mon Sep 17 00:00:00 2001 From: Thibaud Date: Sun, 6 Jan 2019 15:07:19 +0100 Subject: [PATCH 3/5] Update backup configuration --- backup.service | 2 +- exclude-list-S551LN.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backup.service b/backup.service index ad24c6c..006bc14 100644 --- a/backup.service +++ b/backup.service @@ -9,7 +9,7 @@ Environment=BORG_PASSPHRASE=***REMOVED*** Environment=BORG_KEY_FILE=/home/thibaud/.config/borg/keys/S551LN_borg.2 Nice=19 ExecStart=/usr/local/bin/borg create --list --stats --filter AME --exclude-from=/mnt/data/thibaud/backups/S551LN/exclude-list-S551LN.txt ::{now} / -ExecStartPost=/usr/local/bin/borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6 --keep-within 2d --stats :: +ExecStartPost=/usr/local/bin/borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=10 --keep-within 2d --stats :: [Install] WantedBy=multi-user.target diff --git a/exclude-list-S551LN.txt b/exclude-list-S551LN.txt index 1dec2bd..728f309 100644 --- a/exclude-list-S551LN.txt +++ b/exclude-list-S551LN.txt @@ -19,8 +19,12 @@ /home/*/.gvfs /swapfile +/var/lib/flatpak/appstream/ /var/lib/flatpak/repo/ +/root/.cache + +/home/*/.android /home/*/.cache /home/*/.m2 /home/*/.gradle -- 2.45.1 From 8acc3ec2f3379ba0f64a345ffa3c327101a582c5 Mon Sep 17 00:00:00 2001 From: Thibaud Date: Wed, 13 Nov 2019 23:52:31 +0100 Subject: [PATCH 4/5] Rename service files to borgbackup.{service,timer} --- .gitignore | 2 ++ backup.service => borgbackup.service | 0 backup.timer => borgbackup.timer | 0 3 files changed, 2 insertions(+) rename backup.service => borgbackup.service (100%) rename backup.timer => borgbackup.timer (100%) diff --git a/.gitignore b/.gitignore index 105e95d..5dd7d68 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ !backup.timer !exclude-list-S551LN.txt !README.md +!Makefile +* diff --git a/backup.service b/borgbackup.service similarity index 100% rename from backup.service rename to borgbackup.service diff --git a/backup.timer b/borgbackup.timer similarity index 100% rename from backup.timer rename to borgbackup.timer -- 2.45.1 From 611acd4311a85ccfb54f4f9638b163a421ee88ab Mon Sep 17 00:00:00 2001 From: Thibaud Date: Wed, 13 Nov 2019 23:54:37 +0100 Subject: [PATCH 5/5] Manage variables via systemd override config See #1 --- .gitignore | 1 + Makefile | 13 +++++++++++++ README.md | 21 +++++++++++++++++++++ borgbackup.service | 7 ++----- 4 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index 5dd7d68..de19d2f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ !exclude-list-S551LN.txt !README.md !Makefile +!.gitignore * diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e7a9a6d --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +systemd_path := /etc/systemd/system +install: + cp borgbackup.* $(systemd_path)/ + chmod a+x $(systemd_path)/borgbackup.* + systemctl edit borgbackup.service + systemctl enable borgbackup.timer + systemctl start borgbackup.timer + +uninstall: + systemctl disable borgbackup.timer + rm -rvf $(systemd_path)/borgbackup.service + rm -rvf $(systemd_path)/borgbackup.timer + rm -rvf /etc/systemd/system/borgbackup.service.d diff --git a/README.md b/README.md index 542be43..915f0e2 100644 --- a/README.md +++ b/README.md @@ -1 +1,22 @@ # Backup configuration for S551LN laptop + +## Install + +- run the command `make install` as admin +- in the editor that opens, write the following configuration: + ``` + [Service] + Environment=BORG_REPO=/path/to/borg/repo + Environment=BORG_PASSPHRASE=somEp4$sphrase + Environment=EXCLUDE_LIST=/path/to/exclude/list + ``` + +## Uninstall + +`make uninstall` + +## Run manual backup + +- use `systemctl start borgbackup.service` to run a backup manually +- use `journalctl -u borgbackup.service` to view the logs + diff --git a/borgbackup.service b/borgbackup.service index 006bc14..c2505a0 100644 --- a/borgbackup.service +++ b/borgbackup.service @@ -3,13 +3,10 @@ Description=Borg backup [Service] Type=oneshot -Environment=BORG_REPO=/mnt/data/thibaud/backups/S551LN/S551LN.borg/ Environment=BORG_HOSTNAME_IS_UNIQUE=yes -Environment=BORG_PASSPHRASE=***REMOVED*** -Environment=BORG_KEY_FILE=/home/thibaud/.config/borg/keys/S551LN_borg.2 Nice=19 -ExecStart=/usr/local/bin/borg create --list --stats --filter AME --exclude-from=/mnt/data/thibaud/backups/S551LN/exclude-list-S551LN.txt ::{now} / -ExecStartPost=/usr/local/bin/borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=10 --keep-within 2d --stats :: +ExecStart=/usr/bin/borg create --list --stats --filter AME --exclude-from=${EXCLUDE_LIST} ::{now} / +ExecStartPost=/usr/bin/borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=10 --keep-within 2d --stats :: [Install] WantedBy=multi-user.target -- 2.45.1