From 6f996d1da32e709d98b7214f8190931e17772344 Mon Sep 17 00:00:00 2001 From: Maxim Vershinin Date: Tue, 7 Jul 2026 15:00:17 +0000 Subject: [PATCH] FEATURE: systemd unit and timer added to schedule and run maintenance playbook --- systemd/ansible-maintenance.service | 19 +++++++++++++++++++ systemd/ansible-maintenance.timer | 11 +++++++++++ 2 files changed, 30 insertions(+) create mode 100644 systemd/ansible-maintenance.service create mode 100644 systemd/ansible-maintenance.timer diff --git a/systemd/ansible-maintenance.service b/systemd/ansible-maintenance.service new file mode 100644 index 0000000..2717b2b --- /dev/null +++ b/systemd/ansible-maintenance.service @@ -0,0 +1,19 @@ +[Unit] +Description=Run Ansible playbook for daily maintenance +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +# CAHNGE TO MATCH YOUR REQUIREMENTS +User=max +Group=max +WorkingDirectory=/home/max/projects/ansible_home +ExecStart=/home/max/projects/ansible_home/run_playbook.sh /home/max/projects/ansible_home/playbooks/maintain.yaml +StandardOutput=journal +StandardError=journal +# Optional: prevent runaway if the playbook hangs +TimeoutStopSec=3600 + +[Install] +WantedBy=multi-user.target diff --git a/systemd/ansible-maintenance.timer b/systemd/ansible-maintenance.timer new file mode 100644 index 0000000..e5bdb81 --- /dev/null +++ b/systemd/ansible-maintenance.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Timer for daily Ansible playbook +Requires=ansible-maintenance.service + +[Timer] +OnUnitActiveSec=10min +Persistent=true +Unit=ansible-maintenance.service + +[Install] +WantedBy=timers.target