Noninteractive System Upgrades

Completed yet another successful nightly remote backup and atomic dup:

Apr 06 03:00:00 suse-pc systemd[1]: Starting Backup and atomic update...
Apr 06 03:00:00 suse-pc check-device[28749]: Checks passed. Proceeding...
Apr 06 03:00:01 suse-pc borgmatic[28761]: /etc/borgmatic/config.yaml: Running 7 commands for pre-backup hook
...
Apr 06 03:06:12 suse-pc flatpak[1437]: Nothing to do.
Apr 06 03:06:12 suse-pc atomic-update[1459]: 2024-04-06 03:06:12,983: INFO: Starting atomic distribution upgrade...
Apr 06 03:06:14 suse-pc atomic-update[1459]: 2024-04-06 03:06:14,410: INFO: Using snapshot 910 as base for new snapshot 937
Apr 06 03:06:15 suse-pc atomic-update[1459]: 2024-04-06 03:06:15,613: INFO: Verifying snapshot prior to update...
Apr 06 03:06:20 suse-pc atomic-update[1459]: 2024-04-06 03:06:20,045: INFO: Checking for packages to upgrade
Apr 06 03:06:22 suse-pc atomic-update[1459]: 2024-04-06 03:06:22,324: INFO: Performing distribution upgrade within chroot...
...
Apr 06 03:06:45 suse-pc atomic-update[1459]: 2024-04-06 03:06:45,261: INFO: Distribution upgrade completed successfully
Apr 06 03:06:45 suse-pc atomic-update[1459]: 2024-04-06 03:06:45,261: INFO: Verifying snapshot post update...
Apr 06 03:06:50 suse-pc atomic-update[1459]: 2024-04-06 03:06:50,937: INFO: Setting snapshot 937 (/.snapshots/937/snapshot) as the new default
Apr 06 03:06:50 suse-pc atomic-update[1459]: 2024-04-06 03:06:50,956: INFO: Cleaning up...
Apr 06 03:06:51 suse-pc atomic-update[1459]: 2024-04-06 03:06:51,796: INFO: Using default snapshot 937 to replace running system...
Apr 06 03:06:51 suse-pc atomic-update[1459]: 2024-04-06 03:06:51,796: INFO: Applying /usr...
Apr 06 03:06:51 suse-pc atomic-update[1459]: 2024-04-06 03:06:51,813: INFO: Applying /etc...
Apr 06 03:06:51 suse-pc atomic-update[1459]: 2024-04-06 03:06:51,817: INFO: Applying /boot...
Apr 06 03:06:51 suse-pc atomic-update[1459]: 2024-04-06 03:06:51,845: INFO: Executing systemctl daemon-reexec...
Apr 06 03:06:53 suse-pc atomic-update[1459]: 2024-04-06 03:06:53,189: INFO: Executing systemd-tmpfiles --create...
Apr 06 03:06:53 suse-pc atomic-update[1459]: 2024-04-06 03:06:53,215: INFO: Applied default snapshot as new base for running system
Apr 06 03:06:53 suse-pc atomic-update[1459]: 2024-04-06 03:06:53,215: INFO: Running processes will not be restarted automatically
Apr 06 03:06:53 suse-pc atomic-update[1459]: 2024-04-06 03:06:53,215: INFO: Until the next reboot, bootloader changes must be made from a new atomic snapshot
Apr 06 03:06:53 suse-pc systemd[1]: bkupd.service: Deactivated successfully.
Apr 06 03:06:53 suse-pc systemd[1]: Finished Backup and atomic update.
Apr 06 03:06:53 suse-pc systemd[1]: bkupd.service: Consumed 2min 42.657s CPU time.

Systemd units:

pavin@suse-pc:~> systemctl cat bkupd.*
# /etc/systemd/system/bkupd.service
[Unit]
Description=Backup and atomic update

[Service]
Type=oneshot
ExecStartPre=/usr/local/bin/check-device
ExecStartPre=/usr/bin/borgmatic --verbosity 1 --syslog-verbosity 1
ExecStartPre=-/usr/bin/zypperoni ref
ExecStartPre=-/usr/bin/zypperoni --no-confirm dup-download
ExecStartPre=-/usr/bin/flatpak update --noninteractive
ExecStart=/usr/bin/atomic-update --apply dup

# /etc/systemd/system/bkupd.timer
[Unit]
Description=Backup and atomic update

[Timer]
Unit=bkupd.service
OnCalendar=*-*-* 03:00:00

[Install]
WantedBy=timers.target