68 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/bin/sh
 | 
						|
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
 | 
						|
 | 
						|
# {{ ansible_managed }}
 | 
						|
 | 
						|
# Colors definition [[[
 | 
						|
BLACK='\033[49;30m'
 | 
						|
BLACKB='\033[49;90m'
 | 
						|
RED='\033[0;31m'
 | 
						|
REDB='\033[1;31m'
 | 
						|
GREEN='\033[0;32m'
 | 
						|
YELLOW='\033[0;33m'
 | 
						|
BLUE='\033[94;49m'
 | 
						|
MAGENTA='\033[0;35m'
 | 
						|
CYAN='\033[36;49m'
 | 
						|
WHITE='\033[0;37m'
 | 
						|
BOLD='\033[1m'
 | 
						|
RESET='\033[0m'
 | 
						|
# ]]]
 | 
						|
# Vars definition [[[
 | 
						|
ROOT_PART_USAGE=$(df --local | grep -m1 "/$" | awk '{print $5}')
 | 
						|
# ]]]
 | 
						|
 | 
						|
#+++++++++++++++++++: Disk Usage :+++++++++++++++++++
 | 
						|
printf '%b' "${RESET}"
 | 
						|
printf "${BLACKB}%33s${RESET}" | tr ' ' -
 | 
						|
printf '%b' " ${CYAN}Disk Usage${RESET}  "
 | 
						|
printf "${BLACKB}%34s${RESET}\\n" | tr ' ' -
 | 
						|
 | 
						|
# Root partition
 | 
						|
## Replaced by rootfs in few kernel version
 | 
						|
PRINTF_ROOT_NAME=$(printf '%-22s' "/")
 | 
						|
printf '%b' "${BLACKB}+ ${WHITE}${PRINTF_ROOT_NAME}${RESET}${BLACKB}= ${CYAN}${ROOT_PART_USAGE}${RESET}\\n"
 | 
						|
 | 
						|
# Other partition
 | 
						|
for PART_NAME in /boot /home /opt /srv /tmp /tmp /usr /var /var/lib/docker /var/lib/vz; do
 | 
						|
	## "/...$" : $ to grep only the mount point and not sub-directories (/var: OK; /mnt/temp: nOK)
 | 
						|
	if (df --local | grep "${PART_NAME}$" > /dev/null); then
 | 
						|
		PART_USAGE=$(df --local | grep "${PART_NAME}$" | awk '{print $5}')
 | 
						|
		PRINTF_PART_NAME=$(printf '%-22s' "${PART_NAME}")
 | 
						|
		printf '%b' "${BLACKB}+ ${WHITE}${PRINTF_PART_NAME}${RESET}${BLACKB}= ${CYAN}${PART_USAGE}${RESET}\\n"
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
## IF ZFS [[[
 | 
						|
#+++++++++++++++++++: ZFS Usage :+++++++++++++++++++
 | 
						|
if [ "$(command -v zpool)" ]; then
 | 
						|
	printf '%b' "${RESET}"
 | 
						|
	printf "${BLACKB}%32s${RESET}" | tr ' ' -
 | 
						|
	printf '%b' " ${CYAN}${BOLD}ZFS${RESET} ${CYAN}Partition${RESET} "
 | 
						|
	printf "${BLACKB}%33s${RESET}\\n" | tr ' ' -
 | 
						|
 | 
						|
	NUMBER_PART=$(df --local --print-type | grep -c zfs)
 | 
						|
	LINE=1
 | 
						|
 | 
						|
	while [ "${LINE}" -le "${NUMBER_PART}" ]; do
 | 
						|
		DISK_USAGE=$(df --local --print-type | grep zfs | sed -n "${LINE},${LINE}p" | awk '{print $6}')
 | 
						|
		PART_NAME=$(df --local --print-type | grep zfs | sed -n "${LINE},${LINE}p" | awk '{print $1}')
 | 
						|
		PRINTF_PART_NAME=$(printf '%-23s' "${PART_NAME}")
 | 
						|
		printf '%b' "${BLACKB}+ ${WHITE}${PRINTF_PART_NAME}${RESET} ${CYAN}${DISK_USAGE}${RESET}\\n"
 | 
						|
		LINE=$((LINE+1))
 | 
						|
		# Bash ONLY:  (( LINE++ ))
 | 
						|
	done
 | 
						|
fi
 | 
						|
## FI ZFS ]]]
 | 
						|
 | 
						|
printf '%b' "${RESET}"
 |