Ordner bis bestimnte Größe auf DVD brennen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von maps523, 17.09.2007.

  1. #1 maps523, 17.09.2007
    maps523

    maps523 Grünschnabel

    Dabei seit:
    17.09.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Hi,

    ich versuche ein Script zu basteln um einen Ordner ab einer bestimmten Größe und bis zu einer bestimmten Größe auf DVD zu brennen.
    Der Teil des scripts wo es ums Brennen geht ist kein Problem, das kriege ich mit growisofs hin.
    Die Frage ist jetzt nur wie krieg ich es hin zu überprüfen wann ein Ordner eine bestimmte Größe z.B. 4 GB überschritten hat und diesen dann auf DVD zu brennen BEVOR er eine Größe von über 4,7 GB hat.

    Hintergrund ist Folgender: Auf einem Email-Server werden per Cron E-Mails archiviert und diese werden in einen Ordner nach dem Datum des Tages abgelegt. Jetzt wäre es super wenn ein anderer Cron Job überprüft ob der Ordner in dem die Tages-Sicherungen liegen schon über 4 GB hat und diesen dann auf DVD brennt.

    Könnt ihr mir helfen?

    Vielen Dank

    Hab mich schon ein bisschen umgeschaut und den Beitrag Script durch Script starten lassen gefunden, darin wird ja etwas ähnliches besprochen, dort wird ein Ordner mit du auf seine Größe überprüft, aber leider hab ich die Syntax nicht gerafft bzw. das Skript nicht auf meine Bedürfnisse abändern können.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 17.09.2007
    Zuletzt bearbeitet: 17.09.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst du -s dafür verwenden.
    Z.B. Bevor du die nächste Datei in dieses Verzeichnis schreibst, prüfst du dessen Größe, addierst diese zur aktuellen Größe und testest auf die Maxgröße. Ist sie erreicht, dann leite Maßnahmen ein usw
    Code:
    max=4294967296;
    filesize=$(wc -c datei);
    dirsize= $(du -s /path/to/Folder);
    sum=$(($filesize  + $dirsize));
    if [ $sum -gt $max ]; 
    then 
    echo Verzeichnis voll;
     ....;
    else 
    #kopiere die Datei rein
    fi
    
    Das hier mal ganz ausführlich. Die Zahlen sind natürlich anzupassen.

    Gruß Wolfgang
     
  4. #3 manfred, 17.09.2007
    manfred

    manfred Jungspund

    Dabei seit:
    27.08.2007
    Beiträge:
    10
    Zustimmungen:
    0
    Hi Leute,

    super Sache, so ein Forum

    @wolfgang: glaube, damit haste meiner Ideenlosigkeit gleich neuen Wind gegeben, suche auch grad was, um Dateigrößen etc im Script zu berechnen.
    Haste mal wieder zwei (oder noch mehr?) Fliegen mit einer Klappe :-)

    nochmals Danke, Manfred
     
  5. #4 Wolfgang, 17.09.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja und Blödsinn habe ich auch geschrieben, (gerade editiert).
    Natürlich ist du - s statt df gemeint.
    Ich werde langsam alt. ;)
     
  6. #5 maps523, 18.09.2007
    maps523

    maps523 Grünschnabel

    Dabei seit:
    17.09.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Vielen Dank für die schnell Antwort.

    Das Skript ist klasse, aber ein kleines Problem hab ich noch.

    ich bekomme einen arith: syntax error: bei der IF Anweisung, weil die Variablen dirsize und filesize neben der Grösse leider auch die Pfade gespeichert haben.

    Beispielsweise sieht die Ausgabe dann so aus:
    arith: syntax error: "939432 /home/test/temp/KW38 + 12648 /home/test/datei1"

    Fällt Dir dazu auch noch eine Lösung ein.

    Vielen Dank
     
  7. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Lösungsansatz: siehe 'man cut'
    Gruss
    d22
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Wolfgang, 18.09.2007
    Zuletzt bearbeitet: 18.09.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Code:
    filesize_(wc -l file|cut -d" " -f1);
    
    dirsize dito.

    Oder sparsamer einen Prozess weniger pro var:
    Code:
     fs=($(wc -l file); 
    echo ${fs[0]}
    238
    
     
  10. #8 maps523, 18.09.2007
    maps523

    maps523 Grünschnabel

    Dabei seit:
    17.09.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Danke das funktioniert, ihr seid Super! :D
     
Thema:

Ordner bis bestimnte Größe auf DVD brennen

Die Seite wird geladen...

Ordner bis bestimnte Größe auf DVD brennen - Ähnliche Themen

  1. Wo befindet sich der Autostartordner?

    Wo befindet sich der Autostartordner?: Hallo ich habe CentOS 7.2.15.11 und Desktopumgebung mate , wo befindet sich der Autostartordner?
  2. Ordner für einen User freigeben

    Ordner für einen User freigeben: Hallo, ich möchte mit Samba (auf einem Ubuntu Server) einen Ordner im lokalen Netzwerk freigeben. Dieser Ordner soll auf allen Geräten im...
  3. youtube-dl mit WebUI einrichten - Download-Ordner ändern + Berechtigungen

    youtube-dl mit WebUI einrichten - Download-Ordner ändern + Berechtigungen: Hallo, auf meinem Raspberry Pi habe ich youtube-dl (manuelle Installation; systemweit [wie im UU-Wiki beschrieben]) installiert. Dazu...
  4. Problem mit 1er Freigabe und mehreren Ordnern

    Problem mit 1er Freigabe und mehreren Ordnern: Hallo Ich habe auf unseren home Server das Neuste Debian mit der neusten stabilen Samba Version. Ich habe eine Freigabe die die mehrere Ordner...
  5. Datei namex.txt in ordner namex verschieben

    Datei namex.txt in ordner namex verschieben: Hallo Leute, ich bräuchte ein paar Tipps und Anregungen wie ich in einem Verzeichnis, welches gerade so aussieht n1.txt (Datei) n2.txt (Datei)...