mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-10 06:51:04 +01:00
Added disc-space-checker
This commit is contained in:
parent
3508baebac
commit
01231cab6b
@ -3,8 +3,13 @@
|
|||||||
|
|
||||||
on_calendar_btrfs_health_check: "*-*-* 00:00:00"
|
on_calendar_btrfs_health_check: "*-*-* 00:00:00"
|
||||||
on_calendar_journalctl_health_check: "*-*-* 00:00:00"
|
on_calendar_journalctl_health_check: "*-*-* 00:00:00"
|
||||||
|
on_calendar_disc_space_check: "*-*-* 06,12,18,00:00:00"
|
||||||
on_calendar_docker_health_check: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01,02:00:00"
|
on_calendar_docker_health_check: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01,02:00:00"
|
||||||
on_calendar_backups_cleanup: "*-*-* 06,12,18,00:30:00"
|
on_calendar_backups_cleanup: "*-*-* 06,12,18,00:30:00"
|
||||||
on_calendar_docker_volume_backup: "*-*-* 03:30:00"
|
on_calendar_docker_volume_backup: "*-*-* 03:30:00"
|
||||||
on_calendar_docker_compose_restart_unhealthy: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01:30:00"
|
on_calendar_docker_compose_restart_unhealthy: "*-*-* 09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,00,01:30:00"
|
||||||
on_calendar_pull_primary_backups: "*-*-* 21:30:00"
|
on_calendar_pull_primary_backups: "*-*-* 21:30:00"
|
||||||
|
|
||||||
|
# Space Variables
|
||||||
|
size_percent_maximum_backup: 75
|
||||||
|
size_percent_disc_space_warning: 85
|
@ -6,6 +6,7 @@
|
|||||||
- system-security
|
- system-security
|
||||||
- system-update
|
- system-update
|
||||||
- native-journalctl
|
- native-journalctl
|
||||||
|
- native-disc-space-check
|
||||||
#- native-hostname
|
#- native-hostname
|
||||||
- name: setup btrfs health check
|
- name: setup btrfs health check
|
||||||
hosts: btrfs_health_check_hosts
|
hosts: btrfs_health_check_hosts
|
||||||
|
@ -5,7 +5,7 @@ import os
|
|||||||
backup_disk_path = "{{backup_disk_path}}"
|
backup_disk_path = "{{backup_disk_path}}"
|
||||||
backups_folder_path = os.path.join(backup_disk_path, "Backups/")
|
backups_folder_path = os.path.join(backup_disk_path, "Backups/")
|
||||||
deleted = True
|
deleted = True
|
||||||
while psutil.disk_usage(backup_disk_path).percent > int({{backup_space_percent}}) and deleted:
|
while psutil.disk_usage(backup_disk_path).percent > int({{size_percent_maximum_backup}}) and deleted:
|
||||||
deleted = False
|
deleted = False
|
||||||
print("%d %% of disk %s are used. Freeing space..." % (psutil.disk_usage(backup_disk_path).percent,backup_disk_path))
|
print("%d %% of disk %s are used. Freeing space..." % (psutil.disk_usage(backup_disk_path).percent,backup_disk_path))
|
||||||
for primary_directory in os.listdir(backups_folder_path):
|
for primary_directory in os.listdir(backups_folder_path):
|
||||||
|
2
roles/native-disc-space-check/README.md
Normal file
2
roles/native-disc-space-check/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# disc-space-check
|
||||||
|
Checks if enough disc space is free
|
12
roles/native-disc-space-check/handlers/main.yml
Normal file
12
roles/native-disc-space-check/handlers/main.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
- name: "reload disc-space-check.service"
|
||||||
|
systemd:
|
||||||
|
name: disc-space-check.service
|
||||||
|
state: reloaded
|
||||||
|
enabled: yes
|
||||||
|
daemon_reload: yes
|
||||||
|
- name: "restart disc-space-check.timer"
|
||||||
|
systemd:
|
||||||
|
name: disc-space-check.timer
|
||||||
|
state: restarted
|
||||||
|
enabled: yes
|
||||||
|
daemon_reload: yes
|
2
roles/native-disc-space-check/meta/main.yml
Normal file
2
roles/native-disc-space-check/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- native-systemd-email
|
22
roles/native-disc-space-check/tasks/main.yml
Normal file
22
roles/native-disc-space-check/tasks/main.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
- name: "create {{disc_space_check_folder}}"
|
||||||
|
file:
|
||||||
|
path: "{{disc_space_check_folder}}"
|
||||||
|
state: directory
|
||||||
|
mode: 0755
|
||||||
|
|
||||||
|
- name: create disc-space-check.sh
|
||||||
|
template:
|
||||||
|
src: disc-space-check.sh.j2
|
||||||
|
dest: "{{disc_space_check_folder}}disc-space-check.sh"
|
||||||
|
|
||||||
|
- name: create disc-space-check.service
|
||||||
|
template:
|
||||||
|
src: disc-space-check.service.j2
|
||||||
|
dest: /etc/systemd/system/disc-space-check.service
|
||||||
|
notify: reload disc-space-check.service
|
||||||
|
|
||||||
|
- name: create disc-space-check.timer
|
||||||
|
template:
|
||||||
|
src: disc-space-check.timer.j2
|
||||||
|
dest: /etc/systemd/system/disc-space-check.timer
|
||||||
|
notify: restart disc-space-check.timer
|
@ -0,0 +1,7 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=checking disc space
|
||||||
|
OnFailure=systemd-email@%n.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/bin/bash {{disc_space_check_folder}}disc-space-check.sh
|
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
errors=0
|
||||||
|
echo "checking disc space use..."
|
||||||
|
df
|
||||||
|
for disc_use_percent in $(df --output=pcent | sed 1d)
|
||||||
|
do
|
||||||
|
disc_use_percent_number=$(echo "$disc_use_percent" | sed "s/%//")
|
||||||
|
if [ "$disc_use_percent_number" -gt "{{size_percent_disc_space_warning}}" ]; then
|
||||||
|
echo "WARNING: $disc_use_percent_number exceeds the limit of {{size_percent_disc_space_warning}}%."
|
||||||
|
errors+=1;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit $errors;
|
@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=starts disc-space-check.service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar={{on_calendar_disc_space_check}}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
1
roles/native-disc-space-check/vars/main.yml
Normal file
1
roles/native-disc-space-check/vars/main.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
disc_space_check_folder: "/home/administrator/scripts/disc-space-check/"
|
Loading…
Reference in New Issue
Block a user