mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 10:19:09 +00:00 
			
		
		
		
	Merged client playbook and server playbook
This commit is contained in:
		
							
								
								
									
										4
									
								
								roles/server_native-free-disc-space/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								roles/server_native-free-disc-space/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # free-disc-space | ||||
| Frees disc space | ||||
| ## More information | ||||
| - https://askubuntu.com/questions/380238/how-to-clean-tmp | ||||
							
								
								
									
										12
									
								
								roles/server_native-free-disc-space/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								roles/server_native-free-disc-space/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| - name: "reload free-disc-space.service" | ||||
|   systemd: | ||||
|     name: free-disc-space.service | ||||
|     state: reloaded | ||||
|     enabled: yes | ||||
|     daemon_reload: yes | ||||
| - name: "restart free-disc-space.timer" | ||||
|   systemd: | ||||
|     name: free-disc-space.timer | ||||
|     state: restarted | ||||
|     enabled: yes | ||||
|     daemon_reload: yes | ||||
							
								
								
									
										2
									
								
								roles/server_native-free-disc-space/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								roles/server_native-free-disc-space/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| dependencies: | ||||
|   - native-systemd-email | ||||
							
								
								
									
										22
									
								
								roles/server_native-free-disc-space/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								roles/server_native-free-disc-space/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| - name: "create {{free_disc_space_folder}}" | ||||
|   file: | ||||
|     path: "{{free_disc_space_folder}}" | ||||
|     state: directory | ||||
|     mode: 0755 | ||||
|  | ||||
| - name: create free-disc-space.sh | ||||
|   template: | ||||
|     src: free-disc-space.sh.j2 | ||||
|     dest: "{{free_disc_space_folder}}free-disc-space.sh" | ||||
|  | ||||
| - name: create free-disc-space.service | ||||
|   template:  | ||||
|     src: free-disc-space.service.j2 | ||||
|     dest: /etc/systemd/system/free-disc-space.service | ||||
|   notify: reload free-disc-space.service | ||||
|  | ||||
| - name: create free-disc-space.timer | ||||
|   template: | ||||
|     src: free-disc-space.timer.j2 | ||||
|     dest: /etc/systemd/system/free-disc-space.timer | ||||
|   notify: restart free-disc-space.timer | ||||
| @@ -0,0 +1,7 @@ | ||||
| [Unit] | ||||
| Description=freeing disc space | ||||
| OnFailure=systemd-email@%n.service | ||||
|  | ||||
| [Service] | ||||
| Type=oneshot | ||||
| ExecStart=/bin/bash {{free_disc_space_folder}}free-disc-space.sh {{size_percent_free_disc_space}} | ||||
| @@ -0,0 +1,53 @@ | ||||
| #!/bin/sh | ||||
| # @param $1 mimimum free disc space | ||||
| # @param $2 --force to for execution indepentend on how much disc space is free | ||||
|  | ||||
| execute_free_disc_space=0 | ||||
| minimum_percent_free_disc_space="$1" | ||||
| force_freeing=false | ||||
| echo "Checking free disc space..." | ||||
| df | ||||
| if [ $# -gt 0 ] && [ "$2" == "--force" ]; then | ||||
|   echo "Forcing disc space freeing." | ||||
|   force_freeing=true  | ||||
| fi  | ||||
| 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 "$minimum_percent_free_disc_space" ]; then | ||||
|       echo "WARNING: $disc_use_percent_number exceeds the limit of {{size_percent_disc_space_warning}}%." | ||||
|       execute_free_disc_space+=1; | ||||
|     fi | ||||
| done | ||||
| if [ "$disc_use_percent_number" -gt "$minimum_percent_free_disc_space" ] || [ "$force_freeing" = true ]; then | ||||
|   echo "cleaning up /tmp" && | ||||
|   find /tmp -type f -atime +10 -delete || exit 1 | ||||
|    | ||||
|   {% if backups_folder_path is defined and size_percent_maximum_backup is defined %} | ||||
|   echo "cleaning up backups" && | ||||
|   python /home/administrator/scripts/backups-cleanup/backups-cleanup.py --backups-folder-path {{backups_folder_path}} --maximum-backup-size-percent {{size_percent_maximum_backup}} || exit 2 | ||||
|   {% endif %} | ||||
|  | ||||
|   if pacman -Qs $package > /dev/null ; then | ||||
|     echo "cleaning up docker" && | ||||
|     docker system prune -f || exit 3 | ||||
|  | ||||
|     nextcloud_application_container="nextcloud-application-1" | ||||
|     if [ "$(docker ps -a -q -f name=$nextcloud_application_container)" ] ; then | ||||
|       echo "cleaning up docker nextcloud" && | ||||
|       docker exec -it -u www-data $nextcloud_application_container /var/www/html/occ files:cleanup || exit 4 | ||||
|       docker exec -it -u www-data $nextcloud_application_container /var/www/html/occ trashbin:cleanup --all-users || exit 5 | ||||
|       docker exec -it -u www-data $nextcloud_application_container /var/www/html/occ versions:cleanup || exit 6 | ||||
|     fi | ||||
|  | ||||
|   fi | ||||
|  | ||||
|   echo "cleaning pacman cache" && | ||||
|   yes | pacman -Sc || exit 7 | ||||
|  | ||||
|   echo "cleanup finished." | ||||
| else | ||||
|   echo "Sufficiend disc space available." | ||||
|   echo "To force the freeing of disc space pass the parameter --force." | ||||
| fi | ||||
| exit 0 | ||||
| @@ -0,0 +1,10 @@ | ||||
| [Unit] | ||||
| Description=starts free-disc-space.service | ||||
|  | ||||
| [Timer] | ||||
| OnCalendar={{on_calendar_free_disc_space}} | ||||
| RandomizedDelaySec={{randomized_delay_sec}} | ||||
| Persistent=true | ||||
|  | ||||
| [Install] | ||||
| WantedBy=timers.target | ||||
							
								
								
									
										1
									
								
								roles/server_native-free-disc-space/vars/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								roles/server_native-free-disc-space/vars/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| free_disc_space_folder: "/home/administrator/scripts/free-disc-space/" | ||||
		Reference in New Issue
	
	Block a user