mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-12-22 18:35:03 +01:00
Implemented defrost timer
This commit is contained in:
parent
b2a0428426
commit
912257e0c2
@ -1,15 +1,18 @@
|
||||
# Server Tact Variables
|
||||
|
||||
## Ours in which the server is 100% working. Rest of the time is reserved for maintanance
|
||||
hours_server_awake: "{{ range(9, 24) | list + range(0, 3) | list }}"
|
||||
|
||||
## Random delay for systemd timers to avoid peak loads.
|
||||
randomized_delay_sec: "15min"
|
||||
randomized_delay_sec: "5min"
|
||||
|
||||
## Schedule for Health Checks
|
||||
on_calendar_health_btrfs: "*-*-* 00:00:00"
|
||||
on_calendar_health_journalctl: "*-*-* 00:00:00"
|
||||
on_calendar_health_disc_space: "*-*-* 06,12,18,00:00:00"
|
||||
on_calendar_health_docker_container: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01,02:00:00"
|
||||
on_calendar_health_docker_volumes: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01,02:15:00"
|
||||
on_calendar_health_nginx: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01,02:45:00"
|
||||
on_calendar_health_docker_container: "*-*-* {{ hours_server_awake | join(',') }}:00:00"
|
||||
on_calendar_health_docker_volumes: "*-*-* {{ hours_server_awake | join(',') }}:15:00"
|
||||
on_calendar_health_nginx: "*-*-* {{ hours_server_awake | join(',') }}:45:00"
|
||||
|
||||
## Schedule for Cleanup Tasks
|
||||
on_calendar_cleanup_backups: "*-*-* 06,12,18,00:30:00"
|
||||
@ -20,7 +23,8 @@ on_calendar_backup_docker_to_local: "*-*-* 03:30:00"
|
||||
on_calendar_backup_remote_to_local: "*-*-* 21:30:00"
|
||||
|
||||
## Schedule for Maintenance Tasks
|
||||
on_calendar_heal_docker: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01:30:00"
|
||||
on_calendar_heal_docker: "*-*-* {{ hours_server_awake | join(',') }}:30:00"
|
||||
on_calendar_defrost: "*-*-* 00:00:00"
|
||||
on_calendar_renew_lets_encrypt_certificates: "*-*-* 12,00:30:00"
|
||||
on_calendar_deploy_mailu_certificates: "*-*-* 13,01:30:00"
|
||||
on_calendar_msi_keyboard_color: "*-*-* *:*:00"
|
||||
|
@ -51,7 +51,9 @@ def stop_timer(service):
|
||||
"""
|
||||
Stop and disable a systemd timer for a service if it exists.
|
||||
"""
|
||||
if service_file_exists(service, "timer"):
|
||||
if service == "system-maintenance-service-defrost":
|
||||
print(f"Ignore: {service}")
|
||||
elif service_file_exists(service, "timer"):
|
||||
timer_name = f"{service}.timer"
|
||||
subprocess.run(['systemctl', 'stop', timer_name])
|
||||
subprocess.run(['systemctl', 'disable', timer_name])
|
||||
|
@ -0,0 +1,6 @@
|
||||
- name: "restart system-maintenance-service-defrost.timer"
|
||||
systemd:
|
||||
name: system-maintenance-service-defrost.timer
|
||||
state: restarted
|
||||
enabled: yes
|
||||
daemon_reload: yes
|
@ -20,4 +20,13 @@
|
||||
|
||||
- name: "set variable to prevent loading when action status didn't change"
|
||||
set_fact:
|
||||
maintenance_service_freeze_action_last: "{{system_maintenance_service_freeze_action}}"
|
||||
maintenance_service_freeze_action_last: "{{system_maintenance_service_freeze_action}}"
|
||||
|
||||
- name: create system-maintenance-service-defrost.timer
|
||||
template:
|
||||
src: system-maintenance-service-defrost.timer.j2
|
||||
dest: "/etc/systemd/system/system-maintenance-service-defrost.timer"
|
||||
register: system_maintenance_service_defrost_timer
|
||||
changed_when: system_maintenance_service_defrost_timer.changed or activate_all_timers | bool
|
||||
notify: restart system-maintenance-service-defrost.timer
|
||||
when: run_once_system_maintenance_service_freeze is not defined
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=starts system-maintenance-service-defrost.service
|
||||
|
||||
[Timer]
|
||||
OnCalendar={{on_calendar_defrost}}
|
||||
RandomizedDelaySec={{randomized_delay_sec}}
|
||||
Persistent=false
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
@ -4,4 +4,5 @@ OnFailure=systemd-notifier@%n.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -c '/usr/bin/python {{ path_system_maintenance_service_freezer_script }} {{item}} {{ system_maintenance_services | join(",") }}'
|
||||
ExecPreStart=/bin/sh -c '/usr/bin/python {{ path_system_maintenance_service_freezer_script }} {{item}} "{{ system_maintenance_services + [item] }}"'
|
||||
ExecStart=/bin/sh -c '/usr/bin/python {{ path_system_maintenance_service_freezer_script }} {{item}} "{{ system_maintenance_services }}"'
|
Loading…
Reference in New Issue
Block a user