Kombination rdiff-backup, Speicherplatzberechnung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Porschecity
Beiträge: 33
Registriert: 04.08.2002 18:25:56
Kontaktdaten:

Kombination rdiff-backup, Speicherplatzberechnung

Beitrag von Porschecity » 25.06.2007 16:19:49

Hallo Zusammen,

ich habe ein "noch nicht" vorhandenes Problem. Aber wenn ich da nichts unternehme
wird es mal zum Problem.

Gegeben:
/ Parition mit 700 GB
/home mit 2 TB

Es wird jeden Tag von /home/vmail auf /home/samba per backup2l gesichert. Zusätzlich
möchte ich per rdiff-Backup auf die / Parition sichern, damit ein schnelles Restore von
Emails möglich ist (backup2l packt und man muss immer alles entpacken um eine Datei
zu restoren ....)

Deswegen möchte ich möchte folgendes realisieren:

Wenn der Speicherplatzverbrauch für das Backup von /home/vmail kleiner
ist als / - dann führe rdiff-Backup aus. Wenn nicht sende Email.

Probleme vor denen ICH stehe:
1. Woher weiss ich was rdiff-backup an Daten sichern würde.
(zusätzlich löscht rdiff-Backup Daten die älter als 4 Wochen sind)
2. Wie kann ich das in ein Skript einbauen .... :)

Im Endeffekt müsste ich einen "Dryrun" machen, den Speicherplatz
der gebraucht wird ermitteln und diesen mit dem noch vorhandenen
auf / (abzgl. paar GB Reserve) vergleichen.

Finde aber im Manual nichts zum "Speicherplatzermitteln"

Ist das überhaupt möglich? Rdiff-Backup ist fein und ich denke
in 1 - 2 Jahren wird durch größere Festplatten auch dieses
"temporäre" Problem gelöst sein. ....

Hier mein Aufruf von rdiff-backup: (Habe es aus dem Rdiff-Backup-Wiki)

Code: Alles auswählen

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    # Where the backups go
    target=/fullbackup
    mkdir -p "$target"
    mysqldump --all-databases --compress -u root --password=XXXX > /usr/local/etc/mysqlbackup.sql

    # Just put all the folders you want backed here. If they
    # have strange characters in the name, just put them in
    # single quotes. If you are not sure, quote them anyway.

    for folder in /etc /home/vmail /usr/local /var/www /var/lib/amavis
    do
        # If the folder being backed up contains ".."
        # something bad is going on

        if echo "$folder" || grep ..
        then
            continue
        fi

        mkdir -p $target/$folder
        rdiff-backup --remove-older-than 4W $folder $target/$folder
    done
    chown root.root $target
    chmod 700 $target
    rm -f /usr/local/etc/mysqlbackup.sql


PS: Alternative wäre eventuell:
wenn "/" kleiner - sagen wir mal - 10 GB - email senden und kein backup starten.
YaST - Yet another Sucking Tool

Antworten