diff options
Diffstat (limited to 'home/.config')
-rwxr-xr-x | home/.config/i3/status/backup | 44 | ||||
-rw-r--r-- | home/.config/systemd/user/backup.service | 8 | ||||
-rw-r--r-- | home/.config/systemd/user/backup.timer | 12 | ||||
-rw-r--r-- | home/.config/systemd/user/dbusmonitor.service | 9 | ||||
-rw-r--r-- | home/.config/systemd/user/unmetered-internet.target | 2 |
5 files changed, 51 insertions, 24 deletions
diff --git a/home/.config/i3/status/backup b/home/.config/i3/status/backup index 48a8a3e..dd27225 100755 --- a/home/.config/i3/status/backup +++ b/home/.config/i3/status/backup @@ -1,29 +1,25 @@ #!/bin/bash -uuid=05b7770e-1f01-4b17-83de-ede0a04495a1 -instance="$(systemd-escape $uuid)" +systemctl="systemctl --user" -if systemctl --quiet is-active "cryo@$instance.service"; then - echo "" - echo "backup running" - echo "#00ff00" -elif systemctl --quiet is-failed "cryo@$instance.service"; then - echo "" - echo "backup failed" - echo "#ff0000" -elif [[ -f /var/lib/cryo/$uuid/alpha ]]; then - last_run=$(date --reference "/var/lib/cryo/$uuid/alpha" +%s) - now=$(date +%s) - days=$(( (now - last_run) / 60 / 60 / 24 )) - if [[ $days -gt 30 ]]; then - echo ">30d" - echo "backup last run over 30 days ago" - echo "#ff0000" +function systemd_status() { + unit="$1" + if $systemctl --quiet is-active "$unit"; then + echo "" + elif $systemctl --quiet is-failed "$unit"; then + echo "" + elif ! $systemctl --quiet is-enabled "$unit"; then + # note that !enabled includes units that have not been found + echo "" else - echo "${days}d" - echo "backup last run $days days ago" + echo "" fi -else - echo "no backup" - echo "no recent backup found" -fi +} + +status="" +status+="$(systemd_status unmetered-internet.target)" +status+="$(systemd_status backup.timer)" +status+="$(systemd_status backup.service)" + +echo "$status" +echo "$status" diff --git a/home/.config/systemd/user/backup.service b/home/.config/systemd/user/backup.service new file mode 100644 index 0000000..3901d64 --- /dev/null +++ b/home/.config/systemd/user/backup.service @@ -0,0 +1,8 @@ +[Unit] +Description=copy home data to remote storage +Requisite=unmetered-internet.target +After=unmetered-internet.target + +[Service] +Type=simple +ExecStart=%h/bin/backup diff --git a/home/.config/systemd/user/backup.timer b/home/.config/systemd/user/backup.timer new file mode 100644 index 0000000..cd8c3c3 --- /dev/null +++ b/home/.config/systemd/user/backup.timer @@ -0,0 +1,12 @@ +[Unit] +Description=run backup script periodically +Requisite=unmetered-internet.target +After=unmetered-internet.target + +[Timer] +OnCalendar=0/2:00:00 +RandomizedDelaySec=10min +Persistent=true + +[Install] +WantedBy=unmetered-internet.target diff --git a/home/.config/systemd/user/dbusmonitor.service b/home/.config/systemd/user/dbusmonitor.service new file mode 100644 index 0000000..0fdd942 --- /dev/null +++ b/home/.config/systemd/user/dbusmonitor.service @@ -0,0 +1,9 @@ +[Unit] +Description=user service to listen to system dbus sevents + +[Service] +Type=simple +ExecStart=%h/.local/bin/dbusmonitor + +[Install] +WantedBy=default.target
\ No newline at end of file diff --git a/home/.config/systemd/user/unmetered-internet.target b/home/.config/systemd/user/unmetered-internet.target new file mode 100644 index 0000000..4e7907c --- /dev/null +++ b/home/.config/systemd/user/unmetered-internet.target @@ -0,0 +1,2 @@ +[Unit] +Description=current connection to the internet is not metered
\ No newline at end of file |