Add disk-check.sh
This commit is contained in:
commit
04b184dbae
|
@ -0,0 +1,68 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Function to estimate the size of the apt cache
|
||||
estimate_apt_cache_size() {
|
||||
echo "Estimating the size of the apt cache:"
|
||||
sudo du -sh /var/cache/apt
|
||||
echo
|
||||
}
|
||||
|
||||
# Function to estimate the size of old installed packages
|
||||
estimate_old_packages_size() {
|
||||
echo "Estimating the size of old installed packages:"
|
||||
sudo du -sh /var/lib/apt/lists /var/lib/apt/lists/partial
|
||||
echo
|
||||
}
|
||||
|
||||
# Function to estimate the size of journal logs
|
||||
estimate_journal_size() {
|
||||
echo "Estimating the size of journal logs:"
|
||||
sudo journalctl --disk-usage
|
||||
echo
|
||||
}
|
||||
|
||||
# Function to estimate the size of temporary files
|
||||
estimate_tmp_size() {
|
||||
echo "Estimating the size of temporary files:"
|
||||
sudo du -sh /tmp /var/tmp
|
||||
echo
|
||||
}
|
||||
|
||||
# Function to estimate the size of unused Docker volumes
|
||||
estimate_docker_volumes_size() {
|
||||
echo "Estimating the size of unused Docker volumes:"
|
||||
docker volume ls -qf dangling=true | xargs -I {} docker inspect {} -f '{{ .Name }}: {{ .Size }}' | awk '{ sum += $3 } END { print sum/1024/1024 " MB" }'
|
||||
echo
|
||||
}
|
||||
|
||||
# Function to list directories consuming more than a specified size
|
||||
list_large_directories() {
|
||||
local directory=$1
|
||||
local size_limit=$2
|
||||
echo "Directories in $directory consuming more than $size_limit:"
|
||||
sudo du -ah $directory 2>/dev/null | awk -v limit=$size_limit '{
|
||||
size=$1; unit=substr(size, length(size));
|
||||
size_val=substr(size, 1, length(size)-1);
|
||||
if ((unit=="G" && size_val+0 > limit) || (unit=="T" && size_val*1024 > limit)) {
|
||||
print
|
||||
}
|
||||
}'
|
||||
echo
|
||||
}
|
||||
|
||||
# Estimate storage savings
|
||||
echo "Estimating potential storage savings..."
|
||||
estimate_apt_cache_size
|
||||
estimate_old_packages_size
|
||||
estimate_journal_size
|
||||
estimate_tmp_size
|
||||
estimate_docker_volumes_size
|
||||
|
||||
# List large directories
|
||||
echo "Listing directories consuming more than 5GB and 10GB:"
|
||||
list_large_directories / 5
|
||||
list_large_directories /home 5
|
||||
list_large_directories / 10
|
||||
list_large_directories /home 10
|
||||
|
||||
echo "Storage savings estimation and large directory listing completed."
|
Loading…
Reference in New Issue