Backup-Shellscripte

  • Erst einmal den ganzen Server abgleichen...

    Bash
    #!/bin/bash
    
    
    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
    
    
    rsync -Havxe ssh --numeric-ids --delete --force dedi:/home/ /backup/home/ 1>/root/dedi_rsync.log 2>/root/dedi_rsync.err
    rsync -Havxe ssh --numeric-ids --delete --force dedi:/var/ /backup/var/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err
    rsync -Havxe ssh --numeric-ids --delete --force --exclude /home --exclude /usr --exclude /var dedi:/ /backup/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err
    rsync -Havxe ssh --numeric-ids --delete --force dedi:/usr/ /backup/usr/ 1>>/root/dedi_rsync.log 2>>/root/dedi_rsync.err

    ...dann bestimmte Verzeichnisse auf die USB-Festplatte speichern

    Einmal ein komplettes, inkrementelles Backup bitteschön! ;)
    Interessanterweise kommen jeden Tag ca. 1 GB Daten dazu (dieser Server und der Daheim). Die USB-Platte hat 250GB Platz.

  • Das ist ja ein richtig gutes Backup. Wo hast du das gelernt? Kennst du unison? Das ist so ähnlich wie rsync, nur mit anderer Aufgabenstellung.

    Kannst du noch bessere und mehr Shell-Programmierung? Ich find das cool.

  • Ich mach viel mit "Learning by doing".
    Unison kenne ich vom hören, wir setzen das in der Firma ein. Aber wir haben damit Probleme mit Dateien > 1 GB.
    Rsync ist einfach global und eigentlich per default verfügbar.
    Brauche auch nur ca. 5 min bis alle Änderungen vom Server rübergezogen sind, 10MBit sei dank.
    Was meinst du mit können? Ich schreib halt die Scripte, die ich brauche. Bislang hab ich sonst nur Kleinigkeiten gebraucht, die der Veröffentlichung nicht wert sind.
    Das da oben war schon etwas aufwendiger, aber im Prinzip in einer Stunde geschrieben und soweit getestet, das da alles funktioniert.

  • Also in einer Stunde hätte ich das nicht gepackt.

    Ich müsste erst die ganzen manual Seiten von rsync durchblättern.
    Und die Bash-Syntax ist auch nicht wirklich leicht. Wahrscheinlich programmierst du öfter mit Bash.

    Hast du ein Buch über Bash oder welche Informationsquellen nutzt du?
    Ich will mich demnächst mit Mailservern auseinandersetzen.

    Liest du mehr vom Bildschirm oder liest du mehr vom Papier oder hast du einen flachen Bildschirm, so dass das lesen angenehmer ist und weniger stressig?

  • Ich benutze viel rsync in der Arbeit. ;) Und gerade die obigen rsync-Kommandos hab ich aus einem unserer Produkte übernommen.
    Soviel Bash mache ich hier eigentlich nicht. Finde es aber eine hübsche Sache.

    Ich hab ne gute Bashseite, zu der ich den Link gerade nicht finde... poste ihn später.
    Ich mach soviel wie möglich online, finde das bequemer und man kann besser suchen.

    Wg. Mailservern: Da kann ich dir weiterhelfen, wenn du magst, kenne mich mit Postfix recht gut aus.

  • Ist Postfix denn einfach genug?
    Also ich übe mich gerade in Cyrus Imapd, was aber für den IMAP und POP3 Verkehr da ist.

    Leider ist das so auf meinem vserver, dass wenn ich Postfix installiere Installationskonflikte entstehen mit der Web-Oberfläche von Plesk oder Virtuoso.

    Was mach ich denn dann? Funktioniert Postfix dann trotzdem?

  • Postfix ist auf jeden Fall einfacher als z.B. sendmail.
    Debian verwendet per Default exim, aber das kenne ich nicht.
    Postfix ist für das Versenden und Empfangen von Mails zuständig, Cyrus für den Abruf (grob gesagt).
    Auf meinem Heimserver ist z.B. nur Postfix installiert und er relayed alles zu meinem Rootserver (via SMTP-Auth).
    Wenns da Konflikte gibt, sollte die Installation eigentlich gar nicht klappen dürfen?
    Aber Postfix sollte trotzdem funktionieren, deine Web-Oberfläche kann ihn dann aber evt. nicht administrieren. Sowas macht man allerdings auch eher auf der Shell direkt. ;)

  • OK, also hast du denn gute Internetseiten zu Postfix, was dann auch wirklich auf einem Suse 10.0 System funktioniert? Alle Postfixpakete sind nicht auf meinem Suse 10.0 VServer mit dabei.

  • Uh... SuSE... Da mach das lieber per YaST, weil ansonsten kann es Probleme geben, besonders weil SuSE gerne alles überschreibt.
    Ich mag SuSE, aber nicht auf einem Server. ;)
    Meine ganzen HowTos sind auch für Debian, nicht für SuSE.

  • Ich mag SuSE auch nicht auf Servern. Ich hätte lieber Debian wählen sollen. Jetzt ärgere ich mich, arghhhh.

    Wo stelle ich ein, das Cyrus-Imapd auf Postfix zugreift und umgekehrt?

    Einmal editiert, zuletzt von trace (27. April 2007 um 23:56)

  • http://www.freeos.com/guides/lsst/
    Meine Lieblingsseite zu Scripten (bzw. da find ich eigentlich immer was ich suche).

    Wg. Mail:
    Ich habe meinen Server ähnlich wie hier beschrieben aufgesetzt:
    http://workaround.org/articles/ispmail/

    Das Bild hier zeigt eigentlich recht nett, wie das dann aussieht:

    Postfix schreibt die Mails in die Mailboxen und Cyrus muss einfach wissen, wie es darauf zugreifen soll. Da sollte man nicht viel konfigurieren müssen.

  • Schön. Ich weiß jetzt wo das Problem ist: Die Firewall! Irgendwie tickt die nicht richtig. Die spinnt!

  • Ist das die SuSE-Defaultfirewall? Jo, ok, die ist... äh... gewöhnungsbedürftig?
    Die macht viel zu viel und ist nicht sehr zuverlässig (ich hatte den Port 22 freigegeben via YaST, nur griff diese Regel nur nach Lust und Laune und ich kam mal rein, mal nicht...).
    Für einen Webserver ist eine Firewall auch nur bedingt notwendig, auf meinem sind z.B. keine Regeln definiert. Daher schalt die Firewall einfach ab, mach einen Portscan und dann nur die Ports dicht, die nicht zugänglich sein sollen.
    Für Heimserver kann ich http://www.harry.homelinux.org/modules.php?na…ables_Generator empfehlen, taugt recht gut und ein Script dieser Sorte ist auf meinem Heimserver im Einsatz.

  • Bevor ich das Design vom Board mache will ich erstmal folgendes abgeschlossen haben, muss aber nicht entgültig abgeschlossen sein:

    Das war gar nicht die Firewall. Nmap hat angegeben, dass der Port geschlossen wäre, dabei lief kein Programm dahinter, was ich mit telnet und netstat herausgefunden habe.

    IMAP und POP3 funktionieren soweit, nur dass im Postfach keine Mail liegt. Ich hatte dummerweise cyrus anstelle courier installiert gehabt und mich gewundert, warum IMAP nicht funktioniert, aber pop3. Ich hatte einmal cyrus konfiguriert dafür. Jetzt habe ich ein Buch, in dem etwas von Courier steht, aber nicht von Cyrus. Ich habe mir noch ein Buch über Postfix gekauft.

    Jaja ich weiß learning by doing. Aber ich habe die Nase voll und habe mir das nunmal in den Kopf gesetzt.

    Jetzt habe ich den Mailserver mit Yast nachhaltig, also danach, nochmal konfiguriert. Es gibt jetzt 2 Probleme.

    Einerseits lässt sich der fam Service nicht starten und google hilft mir da auch nicht weiter. In der Log Datei von mail.err, also Postfix müsste das sein, steht folgende Fehlermeldung:

    Apr 29 22:33:56 lvps87-230-13-28 imapd: Failed to create cache file: maildirwatch (xander)
    Apr 29 22:33:56 lvps87-230-13-28 imapd: Error: Input/output error
    Apr 29 22:33:56 lvps87-230-13-28 imapd: Check for proper operation and configuration
    Apr 29 22:33:56 lvps87-230-13-28 imapd: of the File Access Monitor daemon (famd)

    Und das zweite Problem ist, dass ich keine Mails empfangen kann. Wenn ich mailq eingebe ist da nix.

    Als cyrus noch lief konnte ich wenigstens über "mail username" Mails verschicken, aber selbst das geht nicht.

    In der master.cf von Postfix ist auch gar kein Eintrag von courier, zumindest habe ich dort keinen gefunden und mein Buch sagt mir auch nicht, wie ich einen speziellen Eintrag in die main.cf mache:

    mailbox_transport =

    der war voher:

    mailbox_transport = cyrus

    Ich nehme an, dass dieser Eintrag auf die master.cf verweist, aber da steht nix von courier und ich weiß nicht, ob ich einfach so courier dort eintragen sollte.

    Das größte Problem ist wahrscheinlich jetzt mit dem fam Service.

    Ich habe bange, dass ich das alles nie lösen werde.

    Einmal editiert, zuletzt von trace (29. April 2007 um 21:39)

  • Das Problem hat sich erledigt.

    Das Problem mit fam ließ sich lösen, indem ich den vserver neu gestartet habe und das andere Problem lag daran, dass das blöde Buch die Konfiguration mir so vorgegeben hat, dass die Maildirs nicht die selben waren.

    Jetzt kann ich endlich Mails damit empfangen per IMAP, nur POP meckert, aber das muss mich ja nicht stören.

    Jetzt sind noch einige Dinge dran, einerseits die Mailverteilung, dann der Mailimport, dann die Spambekämpfung und Virenbekämpfung und das automatische Verschieben in Ordner und eine Web Oberfläche, also alles in allem immer noch nicht wenig!

    EDIT: Ach ja und SMTP, also das Verschicken von Mails funzt auch noch nicht.

    Einmal editiert, zuletzt von trace (29. April 2007 um 23:29)

  • Viel Erfolg! Serverseitige Filter sind auch noch ein offener Punkt bei mir, dazu kommt noch AutoResponder für OutOfOffice-Nachrichten... ;)
    Check auch auf jeden Fall deinen Server durch, wenn du fertig bist, ob du ein OpenRelay bist. Dann wirst du über kurz oder lang keine Mails mehr versenden können...

  • Ja mit Filtern habe ich jetzt auch serverseitig zu tun und ich schaffe es nicht.

    Ich habe auf verschiedene Art versucht procmail in die main.cf einzubinden und die Mails kommen jetzt alle gar nicht an, verdammt!

    Welche Rechte muss eigentlich das Maildir haben? Der Owner ist bei mir der User und die Gruppe habe ich auf Postfix gesetzt.

    Mit welchem Filter-Programm wirst du dich auseinandersetzen?

    3 Mal editiert, zuletzt von trace (30. April 2007 um 23:38)

  • Also Mailserver läuft soweit ganz ok muss ich sagen.

    Ich programmiere mir gerade auch ein Backup-Script. Ich werd das dann auch hier rein stellen. :hoppel:

    Ich fass schon mal etwas zusammen:

    für alle Ordner mit dem und mit dem Namen bli und bla und blub mach das: ;)

    So und nun kommt das Megageile rum-ge-pipe bis der Arzt kommt. :bonk:

    tar ordner | komprimiere | verschlüssele asynchron automatisiert | splitte in 150MB Häppchen :rolleyes: - in Ordner als Datumsangabe :stupid?:


    Das soll dann in einem Rutsch passieren alle paar Tage reicht mir schon, als cronjob. Dann brauche ich nicht einmal gesicherte Übertragung, weil die Datei sowieso verschlüsselt ist +g+ 2048 Bit dicht :muhahaha:

    TODO-List:
    Feinschliff im Script damit alles einwandfrei funktioniert. 8)
    Vorerst will ich das manuell downloaden (ftp) und altes manuell löschen.
    Dann will ich eine automatische Löschfunktion integrieren, die sehr unterschiedlich löscht so halt und bla :P .
    Wenn ich dann soweit bin muss ich mir noch einfallen lassen wie ich mit rsyncd.conf usw. , vielleicht mit oder ohne ssh eine automatische Datenkanal-Kawumme baue, so automatisiert as much as possible 8o :evil:

    Ein inkrementelles Backup habe ich damit zwar schon, aber daraus noch ein zusätzlich differenzielles zu zaubern ist schwierig, weil ich bz2 und gpg und split verwende. Es ist machbar, aber bei dem Aufwand arg in Frage zu stellen. Man bräuchte vielleicht einen Super-Algorithmus, damit sich das auch effektiv wirklich lohnt. :bash: oder ich muss auf anderes verzichten. ;(

    6 Mal editiert, zuletzt von trace (12. Mai 2007 um 06:11)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!