Improvements For Storage Space Management (#26)
* Add cleaning commands to DNF. * Clean flatpak as best we can. * Taking advice from TechRepublic about clean commands. * Add prompt for removing freebsd-update folder. * Add trash checking function with cleanup option. * Enhance check-trash to include "trash" such as mail. * Separate the call to mounted filesystems. * Add clean function to clear local trash. * Change underscore version to alias not function. * Fix `clean`. * Reduce journalctl log size to 100M. Also modified names.
This commit is contained in:
		@@ -64,7 +64,7 @@
 | 
				
			|||||||
    update_package_manager: |
 | 
					    update_package_manager: |
 | 
				
			||||||
      echo "*** Apt ***" &&
 | 
					      echo "*** Apt ***" &&
 | 
				
			||||||
      sudo apt update &&
 | 
					      sudo apt update &&
 | 
				
			||||||
      sudo apt autoclean {{ update_accept_var }} &&
 | 
					      sudo apt clean {{ update_accept_var }} &&
 | 
				
			||||||
      sudo apt autoremove {{ update_accept_var }} && 
 | 
					      sudo apt autoremove {{ update_accept_var }} && 
 | 
				
			||||||
      sudo dpkg --configure -a &&
 | 
					      sudo dpkg --configure -a &&
 | 
				
			||||||
      sudo apt --fix-broken --fix-missing install &&
 | 
					      sudo apt --fix-broken --fix-missing install &&
 | 
				
			||||||
@@ -81,9 +81,16 @@
 | 
				
			|||||||
- name: General | Facts | Package | Update Commands | pkg
 | 
					- name: General | Facts | Package | Update Commands | pkg
 | 
				
			||||||
  set_fact:
 | 
					  set_fact:
 | 
				
			||||||
    update_package_manager: |
 | 
					    update_package_manager: |
 | 
				
			||||||
      echo "*** FreeBSD-Update ***" &&
 | 
					      echo "*** FreeBSD-Update ***" 
 | 
				
			||||||
      sudo sh -c "rm -rfv /var/db/freebsd-update; mkdir -v /var/db/freebsd-update" &&
 | 
					      clean=""
 | 
				
			||||||
      sudo freebsd-update fetch install &&
 | 
					      [[ "{{ update_accept_var }}" == "-y" ]] || echo "Are you sure you'd like to clean /var/db/freebsd-update? [y/N] "
 | 
				
			||||||
 | 
					      [[ "{{ update_accept_var }}" == "-y" ]] || read -N 1 clean
 | 
				
			||||||
 | 
					      typeset -l clean
 | 
				
			||||||
 | 
					      if [[ "{{ update_accept_var }}" == "-y" || "$clean" == "y" ]]; then
 | 
				
			||||||
 | 
					        echo "Cleaning directory..."
 | 
				
			||||||
 | 
					        sudo sh -c "rm -rfv /var/db/freebsd-update; mkdir -v /var/db/freebsd-update"
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					      sudo freebsd-update fetch install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      echo "*** Pkg ***" &&
 | 
					      echo "*** Pkg ***" &&
 | 
				
			||||||
      sudo pkg update &&
 | 
					      sudo pkg update &&
 | 
				
			||||||
@@ -113,6 +120,8 @@
 | 
				
			|||||||
  set_fact:
 | 
					  set_fact:
 | 
				
			||||||
    update_package_manager: |
 | 
					    update_package_manager: |
 | 
				
			||||||
      echo "*** DNF ***" &&
 | 
					      echo "*** DNF ***" &&
 | 
				
			||||||
 | 
					      sudo dnf clean all {{ update_accept_var }} &&
 | 
				
			||||||
 | 
					      sudo dnf autoremove {{ update_accept_var }} &&
 | 
				
			||||||
      sudo dnf upgrade {{ update_accept_var }} &&
 | 
					      sudo dnf upgrade {{ update_accept_var }} &&
 | 
				
			||||||
  when: ansible_pkg_mgr in ("dnf")
 | 
					  when: ansible_pkg_mgr in ("dnf")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -126,6 +135,7 @@
 | 
				
			|||||||
  set_fact:
 | 
					  set_fact:
 | 
				
			||||||
    update_flatpak: |
 | 
					    update_flatpak: |
 | 
				
			||||||
      echo "*** Flatpak ***" && 
 | 
					      echo "*** Flatpak ***" && 
 | 
				
			||||||
 | 
					      sudo flatpak uninstall --unused {{ update_accept_var }} &&
 | 
				
			||||||
      sudo flatpak update {{ update_accept_var }} &&
 | 
					      sudo flatpak update {{ update_accept_var }} &&
 | 
				
			||||||
  when: flatpak_exec is defined and flatpak_exec.failed is defined and not flatpak_exec.failed
 | 
					  when: flatpak_exec is defined and flatpak_exec.failed is defined and not flatpak_exec.failed
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -115,7 +115,7 @@
 | 
				
			|||||||
    alias_cp: alias cp='cp -v'
 | 
					    alias_cp: alias cp='cp -v'
 | 
				
			||||||
    alias_mv: alias mv='mv -v'
 | 
					    alias_mv: alias mv='mv -v'
 | 
				
			||||||
    alias_rm: alias rm='echo "Use mv ~/TRASH/ instead!"'
 | 
					    alias_rm: alias rm='echo "Use mv ~/TRASH/ instead!"'
 | 
				
			||||||
    alias_clean: alias clean='mv * ~/TRASH/'
 | 
					    alias_clean_dir: alias clean-dir='mv * ~/TRASH/'
 | 
				
			||||||
    alias_clean_trash: alias clean-trash='sh -c "rm -rfv ~/TRASH/*"'
 | 
					    alias_clean_trash: alias clean-trash='sh -c "rm -rfv ~/TRASH/*"'
 | 
				
			||||||
    path_additions: export PATH="~/bin:$PATH"
 | 
					    path_additions: export PATH="~/bin:$PATH"
 | 
				
			||||||
    function_wttr: |
 | 
					    function_wttr: |
 | 
				
			||||||
@@ -191,6 +191,71 @@
 | 
				
			|||||||
      alias edit-config-wrk="sudo $EDITOR {{ wrk_file }}"
 | 
					      alias edit-config-wrk="sudo $EDITOR {{ wrk_file }}"
 | 
				
			||||||
      alias edit-config-mnr="sudo $EDITOR {{ mnr_file }}"
 | 
					      alias edit-config-mnr="sudo $EDITOR {{ mnr_file }}"
 | 
				
			||||||
      alias edit-config-srv="sudo $EDITOR {{ srv_file }}"
 | 
					      alias edit-config-srv="sudo $EDITOR {{ srv_file }}"
 | 
				
			||||||
 | 
					    function_check_trash: |
 | 
				
			||||||
 | 
					      function check-trash() {
 | 
				
			||||||
 | 
					        unset OPTIND
 | 
				
			||||||
 | 
					        while (( $# > 0 )); do
 | 
				
			||||||
 | 
					          case $1 in
 | 
				
			||||||
 | 
					            -c | -y | --clean ) clean="Y" ;;
 | 
				
			||||||
 | 
					            -n | -net | --network ) network="Y" ;;
 | 
				
			||||||
 | 
					            * ) echo "
 | 
				
			||||||
 | 
					            ERROR: Option '$1' with value '$2' not recognized.
 | 
				
			||||||
 | 
					              $PROG [-c|-clean|--clean|-y] [-n|-net|--network]
 | 
				
			||||||
 | 
					            " 
 | 
				
			||||||
 | 
					            return 1
 | 
				
			||||||
 | 
					          esac
 | 
				
			||||||
 | 
					          shift
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        echo "clean=$clean"
 | 
				
			||||||
 | 
					        echo "network=$network"
 | 
				
			||||||
 | 
					        echo "Grabbing sudo permissions..."
 | 
				
			||||||
 | 
					        sudo echo "Success! Starting search..."
 | 
				
			||||||
 | 
					        function dirs_to_check {
 | 
				
			||||||
 | 
					          echo "/root"
 | 
				
			||||||
 | 
					          echo "/home"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        dirs_to_check | while read dir; do 
 | 
				
			||||||
 | 
					          echo "Checking $dir..."
 | 
				
			||||||
 | 
					          sudo find $dir -name TRASH | while read trash; do 
 | 
				
			||||||
 | 
					            if [[ "$trash" != "" && `sudo ls $trash` ]]; then
 | 
				
			||||||
 | 
					              echo "Found $trash with contents:"
 | 
				
			||||||
 | 
					              sudo ls -lh $trash
 | 
				
			||||||
 | 
					              if [[ "$clean" == "Y" ]]; then
 | 
				
			||||||
 | 
					                echo "Cleaning trash..."
 | 
				
			||||||
 | 
					                sudo sh -c "rm -rfv $trash/*"
 | 
				
			||||||
 | 
					              fi
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					          done 
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        if [[ "$network" == "Y" ]]; then
 | 
				
			||||||
 | 
					          function network_to_check {
 | 
				
			||||||
 | 
					            find /mnt -maxdepth 1 -mindepth 1 
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          network_to_check | while read dir; do 
 | 
				
			||||||
 | 
					            echo "Checking $dir..."
 | 
				
			||||||
 | 
					            sudo find $dir -name TRASH | while read trash; do 
 | 
				
			||||||
 | 
					              if [[ "$trash" != "" && `sudo ls $trash` ]]; then
 | 
				
			||||||
 | 
					                echo "Found $trash with contents:"
 | 
				
			||||||
 | 
					                sudo ls -lh $trash
 | 
				
			||||||
 | 
					                if [[ "$clean" == "Y" ]]; then
 | 
				
			||||||
 | 
					                  echo "Cleaning trash..."
 | 
				
			||||||
 | 
					                  sudo sh -c "rm -rfv $trash/*"
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					              fi
 | 
				
			||||||
 | 
					            done 
 | 
				
			||||||
 | 
					          done
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        echo "Checking but not cleaning /var/mail..."
 | 
				
			||||||
 | 
					        du -ha /var/mail | sort -h
 | 
				
			||||||
 | 
					        return 0
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      alias check_trash="check-trash"
 | 
				
			||||||
 | 
					    function_clean: |
 | 
				
			||||||
 | 
					      function clean() {
 | 
				
			||||||
 | 
					        sudo df -h
 | 
				
			||||||
 | 
					        check-trash --clean
 | 
				
			||||||
 | 
					        sudo df -h
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Account Management | Users | Files | Common Variable
 | 
					- name: General | Account Management | Users | Files | Common Variable
 | 
				
			||||||
  set_fact:
 | 
					  set_fact:
 | 
				
			||||||
@@ -199,7 +264,7 @@
 | 
				
			|||||||
      {{ alias_cp }}
 | 
					      {{ alias_cp }}
 | 
				
			||||||
      {{ alias_mv }}
 | 
					      {{ alias_mv }}
 | 
				
			||||||
      {{ alias_rm }}
 | 
					      {{ alias_rm }}
 | 
				
			||||||
      {{ alias_clean }}
 | 
					      {{ alias_clean_dir }}
 | 
				
			||||||
      {{ alias_clean_trash }}
 | 
					      {{ alias_clean_trash }}
 | 
				
			||||||
      {{ function_wttr }}
 | 
					      {{ function_wttr }}
 | 
				
			||||||
      {{ PS1 }}
 | 
					      {{ PS1 }}
 | 
				
			||||||
@@ -212,6 +277,8 @@
 | 
				
			|||||||
      {{ metasploit }}
 | 
					      {{ metasploit }}
 | 
				
			||||||
      {{ show_config }}
 | 
					      {{ show_config }}
 | 
				
			||||||
      {{ edit_config }}
 | 
					      {{ edit_config }}
 | 
				
			||||||
 | 
					      {{ function_check_trash }}
 | 
				
			||||||
 | 
					      {{ function_clean }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Account Management | Users | Files | .bashrc
 | 
					- name: General | Account Management | Users | Files | .bashrc
 | 
				
			||||||
  blockinfile:
 | 
					  blockinfile:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Cron ##
 | 
					## Cron ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Enable CROND
 | 
					- name: General | Software | Services | CROND | Enable
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: "{{ crond }}"
 | 
					    name: "{{ crond }}"
 | 
				
			||||||
    pattern: "{{ crond_pattern }}"
 | 
					    pattern: "{{ crond_pattern }}"
 | 
				
			||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## SSHFS ##
 | 
					## SSHFS ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Enable FuseFS (FreeBSD rc.conf)
 | 
					- name: General | Software | Services | SSHFS | Enable FuseFS (FreeBSD rc.conf)
 | 
				
			||||||
  lineinfile:
 | 
					  lineinfile:
 | 
				
			||||||
    path: "{{ rc_conf }}"
 | 
					    path: "{{ rc_conf }}"
 | 
				
			||||||
    regexp: 'fusefs_enable='
 | 
					    regexp: 'fusefs_enable='
 | 
				
			||||||
@@ -23,7 +23,7 @@
 | 
				
			|||||||
    backup: yes
 | 
					    backup: yes
 | 
				
			||||||
  when: ansible_system == "FreeBSD"
 | 
					  when: ansible_system == "FreeBSD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Enable SSHFS (FreeBSD service)
 | 
					- name: General | Software | Services | SSHFS | Enable SSHFS (FreeBSD service)
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: fusefs
 | 
					    name: fusefs
 | 
				
			||||||
    pattern: fusefs
 | 
					    pattern: fusefs
 | 
				
			||||||
@@ -34,14 +34,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## CUPS ##
 | 
					## CUPS ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Disable CUPS Daemon
 | 
					- name: General | Software | Services | CUPS | Disable
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: "{{ cups }}"
 | 
					    name: "{{ cups }}"
 | 
				
			||||||
    pattern: "{{ cups_pattern }}"
 | 
					    pattern: "{{ cups_pattern }}"
 | 
				
			||||||
    state: stopped
 | 
					    state: stopped
 | 
				
			||||||
    enabled: no
 | 
					    enabled: no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Disable CUPS-Browse Daemon
 | 
					- name: General | Software | Services | CUPS-Browse | Disable
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: "{{ cups_browse }}"
 | 
					    name: "{{ cups_browse }}"
 | 
				
			||||||
    pattern: "{{ cups_browse_pattern }}"
 | 
					    pattern: "{{ cups_browse_pattern }}"
 | 
				
			||||||
@@ -51,7 +51,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## SSHD ##
 | 
					## SSHD ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Configure SSHD
 | 
					- name: General | Software | Services | SSHD | Configure
 | 
				
			||||||
  lineinfile:
 | 
					  lineinfile:
 | 
				
			||||||
    path: "{{ sshd_config }}"
 | 
					    path: "{{ sshd_config }}"
 | 
				
			||||||
    regexp: '{{ item.key }}'
 | 
					    regexp: '{{ item.key }}'
 | 
				
			||||||
@@ -75,7 +75,7 @@
 | 
				
			|||||||
    - { "key": '^[\#]?AllowAgentForwarding', "value": 'AllowAgentForwarding no'}
 | 
					    - { "key": '^[\#]?AllowAgentForwarding', "value": 'AllowAgentForwarding no'}
 | 
				
			||||||
    - { "key": '^[\#]?PermitEmptyPasswords', "value": 'PermitEmptyPasswords no'}
 | 
					    - { "key": '^[\#]?PermitEmptyPasswords', "value": 'PermitEmptyPasswords no'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Configure SSHD
 | 
					- name: General | Software | Services | SSHD | Configure (PVE)
 | 
				
			||||||
  lineinfile:
 | 
					  lineinfile:
 | 
				
			||||||
    path: "{{ sshd_config }}"
 | 
					    path: "{{ sshd_config }}"
 | 
				
			||||||
    regexp: '{{ item.key }}'
 | 
					    regexp: '{{ item.key }}'
 | 
				
			||||||
@@ -89,9 +89,17 @@
 | 
				
			|||||||
    - { "key": '^[\#]?MaxSessions',     "value": 'MaxSessions 5'}
 | 
					    - { "key": '^[\#]?MaxSessions',     "value": 'MaxSessions 5'}
 | 
				
			||||||
  when: "'pve' in ansible_kernel"
 | 
					  when: "'pve' in ansible_kernel"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: General | Software | Services | Enable SSHD
 | 
					- name: General | Software | Services | SSHD | Enable
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: "{{ sshd }}"
 | 
					    name: "{{ sshd }}"
 | 
				
			||||||
    pattern: "{{ sshd_pattern }}"
 | 
					    pattern: "{{ sshd_pattern }}"
 | 
				
			||||||
    state: reloaded
 | 
					    state: reloaded
 | 
				
			||||||
    enabled: yes
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## JournalCTL ##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: General | Software | Services | JournalCTL | Reduce Log Size
 | 
				
			||||||
 | 
					  shell: journalctl --vacuum-size=100M
 | 
				
			||||||
 | 
					  when: ansible_system == "Linux"
 | 
				
			||||||
 | 
					  ignore_errors: yes
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user