Merge pull request #17 from toddejohnson/16-metered-net

Add requires to unmetered-connection.service
This commit is contained in:
Erik Westrup
2019-07-23 21:05:36 +02:00
committed by GitHub
6 changed files with 32 additions and 2 deletions

View File

@@ -0,0 +1,7 @@
[Unit]
Description=Check if the current NetworkManager connection is metered
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/nm-unmetered-connection.sh

View File

@@ -1,10 +1,11 @@
[Unit]
Description=Backup with restic to Backblaze B2
OnFailure=status-email-user@%n.service
Requires=nm-unmetered-connection.service
[Service]
Type=simple
Nice=10
ExecStart=/usr/local/sbin/restic_backup.sh
# $HOME or $XDG_CACHE_HOME must be set for restic to find /root/.cache/restic/
Environment="HOME=/root"
Environment="HOME=/root"

View File

@@ -1,5 +1,6 @@
[Unit]
Description=Backup with restic on schedule
Requires=nm-unmetered-connection.service
[Timer]
OnCalendar=daily

View File

@@ -2,6 +2,7 @@
Description=Check restic backup Backblaze B2 for errors
OnFailure=status-email-user@%n.service
Conflicts=restic.service
Requires=nm-unmetered-connection.service
[Service]
Type=simple

View File

@@ -1,9 +1,10 @@
[Unit]
Description=Check restic backup Backblaze B2 for errors on a schedule
Requires=nm-unmetered-connection.service
[Timer]
OnCalendar=monthly
Persistent=true
[Install]
WantedBy=timers.target
WantedBy=timers.target

View File

@@ -0,0 +1,19 @@
#!/bin/bash
systemctl is-active dbus.service >/dev/null 2>&1 || exit 0
systemctl is-active NetworkManager.service >/dev/null 2>&1 || exit 0
metered_status=$(dbus-send --system --print-reply=literal \
--system --dest=org.freedesktop.NetworkManager \
/org/freedesktop/NetworkManager \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.NetworkManager string:Metered \
| grep -o ".$")
if [[ $metered_status =~ (1|3) ]]; then
echo Current connection is metered
exit 1
else
exit 0
fi