Add nm-unmetered-connection checks

This commit is contained in:
Todd E Johnson
2019-07-15 20:45:24 -05:00
parent 348fee95a5
commit d8c0a8d2d6
4 changed files with 26 additions and 3 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,7 +1,6 @@
[Unit]
Description=Backup with restic on schedule
Requires=unmetered-connection.service
After=unmetered-connection.service
Requires=nm-unmetered-connection.service
[Timer]
OnCalendar=daily

View File

@@ -0,0 +1,16 @@
#!/bin/bash
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