diff --git a/disk-check.sh b/disk-check.sh index 82564f7..b418b45 100644 --- a/disk-check.sh +++ b/disk-check.sh @@ -9,9 +9,17 @@ echo "Starting disk space report... This may take a few minutes." > $OUTPUT_FILE estimate_package_cache_size() { echo "Estimating the size of the package cache:" >> $OUTPUT_FILE if [[ $OS == "Linux" ]]; then - sudo du -sh /var/cache/apt 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating apt cache size." >> $OUTPUT_FILE + if [[ -d /var/cache/apt ]]; then + sudo du -sh /var/cache/apt 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating apt cache size." >> $OUTPUT_FILE + else + echo "/var/cache/apt directory not found." >> $OUTPUT_FILE + fi elif [[ $OS == "FreeBSD" ]]; then - sudo du -sh /var/cache/pkg 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating pkg cache size." >> $OUTPUT_FILE + if [[ -d /var/cache/pkg ]]; then + sudo du -sh /var/cache/pkg 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating pkg cache size." >> $OUTPUT_FILE + else + echo "/var/cache/pkg directory not found." >> $OUTPUT_FILE + fi fi echo >> $OUTPUT_FILE } @@ -20,9 +28,17 @@ estimate_package_cache_size() { estimate_old_packages_size() { echo "Estimating the size of old package files:" >> $OUTPUT_FILE if [[ $OS == "Linux" ]]; then - sudo du -sh /var/lib/apt/lists /var/lib/apt/lists/partial 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating old packages size." >> $OUTPUT_FILE + if [[ -d /var/lib/apt/lists ]]; then + sudo du -sh /var/lib/apt/lists /var/lib/apt/lists/partial 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating old packages size." >> $OUTPUT_FILE + else + echo "/var/lib/apt/lists directory not found." >> $OUTPUT_FILE + fi elif [[ $OS == "FreeBSD" ]]; then - sudo du -sh /var/db/pkg 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating old packages size." >> $OUTPUT_FILE + if [[ -d /var/db/pkg ]]; then + sudo du -sh /var/db/pkg 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating old packages size." >> $OUTPUT_FILE + else + echo "/var/db/pkg directory not found." >> $OUTPUT_FILE + fi fi echo >> $OUTPUT_FILE } @@ -31,9 +47,17 @@ estimate_old_packages_size() { estimate_log_size() { echo "Estimating the size of system logs:" >> $OUTPUT_FILE if [[ $OS == "Linux" ]]; then - sudo journalctl --disk-usage 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating journal log size." >> $OUTPUT_FILE + if command -v journalctl &>/dev/null; then + sudo journalctl --disk-usage 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating journal log size." >> $OUTPUT_FILE + else + echo "journalctl command not found on Linux." >> $OUTPUT_FILE + fi elif [[ $OS == "FreeBSD" ]]; then - sudo du -sh /var/log 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating log size in /var/log." >> $OUTPUT_FILE + if [[ -d /var/log ]]; then + sudo du -sh /var/log 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating log size in /var/log." >> $OUTPUT_FILE + else + echo "/var/log directory not found." >> $OUTPUT_FILE + fi fi echo >> $OUTPUT_FILE } @@ -41,7 +65,11 @@ estimate_log_size() { # Function to estimate the size of temporary files estimate_tmp_size() { echo "Estimating the size of temporary files:" >> $OUTPUT_FILE - sudo du -sh /tmp /var/tmp 2>/dev/null >> $OUTPUT_FILE || echo "Error estimating temporary files size." >> $OUTPUT_FILE + if [[ -d /tmp && -d /var/tmp ]]; then + sudo du -sh /tmp /var/tmp 2>>$OUTPUT_FILE >> $OUTPUT_FILE || echo "Error estimating temporary files size." >> $OUTPUT_FILE + else + echo "/tmp or /var/tmp directories not found." >> $OUTPUT_FILE + fi echo >> $OUTPUT_FILE } @@ -49,8 +77,12 @@ estimate_tmp_size() { list_large_directories() { local directory=$1 echo "Scanning $directory for large directories..." >> $OUTPUT_FILE - sudo du -ah $directory 2>/dev/null | sort -hr > /tmp/du_output.txt || echo "Error scanning directories in $directory." >> $OUTPUT_FILE - cat /tmp/du_output.txt >> $OUTPUT_FILE + if [[ -d $directory ]]; then + sudo du -ah $directory 2>/dev/null | sort -hr > /tmp/du_output.txt || echo "Error scanning directories in $directory." >> $OUTPUT_FILE + cat /tmp/du_output.txt >> $OUTPUT_FILE + else + echo "$directory directory not found." >> $OUTPUT_FILE + fi echo >> $OUTPUT_FILE }