469 Stimmen

Überprüfen Sie die Ordnergröße in Bash

Ich versuche, ein Skript zu schreiben, das die Größe eines Verzeichnisses berechnet und wenn die Größe weniger als 10 GB und größer als 2 GB ist, eine Aktion durchführt. Wo muss ich meinen Ordnernamen angeben?

# 10GB
SIZE="1074747474"

# Überprüfen Sie die aktuelle Größe
CHECK="`du /data/sflow_log/`"
if [ "$CHECK" -gt "$SIZE" ]; then
  echo "ERLEDIGT"
fi

14voto

Shivraaz Punkte 207

Wenn Sie nur die Gesamtgröße des Ordners sehen möchten und wahrscheinlich im MB- oder GB-Format, versuchen Sie bitte das folgende Skript

$du -s --block-size=M / Pfad / zu / Ihrem / Verzeichnis /

5voto

Gutz-Pilz Punkte 319
# 10GB
SIZE="10"

# überprüfen Sie die aktuelle Größe
CHECK="`du -hs /media/662499e1-b699-19ad-57b3-acb127aa5a2b/Aufnahmen`"
CHECK=${CHECK%G*}
echo "Aktuelle Ordnergröße: $CHECK GB"

if (( $(echo "$CHECK > $SIZE" |bc -l) )); then
        echo "Ordner ist größer als $SIZE GB"
else
        echo "Ordner ist kleiner als $SIZE GB"
fi

5voto

Vignesh Raja Punkte 6681

Wenn es Ihnen hilft, können Sie auch einen Alias in Ihrer .bashrc oder .bash_profile erstellen.

function dsize()
{
    dir=$(pwd)
    if [ -n "$1" ]; then
            dir=$1
    fi
    du -hs "$dir"
}

Dies druckt die Größe des aktuellen Verzeichnisses oder des Verzeichnisses aus, das Sie als Argument übergeben haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X