Wie lasse ich das Backup alles Daten voll automatisch laufen?

M. Zink

New Member
Ich würde gerne die den Vorgang der unter Tools -> Backup Manager -> Backup passiert mit allen Webs die auf dem Server liegen voll automatisch alle 12 Stunden laufen lassen. Dabei ist mir jedoch wichtig, dass das vorherige Backup erst nach 3 Tagen gelöscht wird. Das heißt ich müsste bevor die Daten auf den FTP gepackt werden alle Dateien die älter wie 3 Tage sind löschen lassen und dann das neue Backup rüber schieben.

Cronjobs in ISPConfig verwalten geht nicht soweit ich das gesehen habe aber vielleicht kann ich irgend ein Skript mit ein paar Parametern aufrufen damit genau das gleiche passiert wie wenn ich das manuell online mache. Dann das ganze in ein kleines Sh rein mit einer Prüfung "Letzte Änderung an Datei älter 3 Tage? -> Löschen" und fertig ist die Sache.
 

Till

Administrator
Ich würde gerne die den Vorgang der unter Tools -> Backup Manager -> Backup passiert mit allen Webs die auf dem Server liegen voll automatisch alle 12 Stunden laufen lassen. Dabei ist mir jedoch wichtig, dass das vorherige Backup erst nach 3 Tagen gelöscht wird. Das heißt ich müsste bevor die Daten auf den FTP gepackt werden alle Dateien die älter wie 3 Tage sind löschen lassen und dann das neue Backup rüber schieben.

Das geht so nicht mit dem ISPConfig Backup Tool. Da wirst Du wohl ein eigenes Script schreiben müssen.
 

M. Zink

New Member
OK, aber die Funktion ist in ISPConfig ja so gesehen vorhanden. Das heißt über das Formular rufe ich ja eine Funktion auf und übergebe verschiedene Parameter. Könnte ich das ganze nicht genau so gut in der Shell aufrufen und da einfach die Parameter fest mit übergeben? Ich weiß jetzt nicht wie die Funktionen im Hintergrund aussehen aber als Beispiel in der Shell "/home/.../ispconfig/ispbackupirgendwas.php?sites=all&ftp=xx.xx.xx.xx&user=username..." ausführen und es passiert das gleiche wie ich im Browser in ISPConfig mache? Weil dann müsste ich das ja nur noch in nen Cronjob packen und den alle 12 Stunden laufen lassen und das wars.

Die Alternative wär für mich die Web Ordner selbst zu packen und Dumps von den Datenbanken erzeugen und dann auf den FTP schieben. So ein Shellskript ist ja nicht sonderlich kompliziert aber ich dachte eben es gibt schon was fertiges ;)

Wenn ich das Shellskript fertig hab geb ich bescheid wie ich das mache.
 

planet_fox

Super-Moderator
Es gibt ne möglichkeit alle webs compl. zu backupen täglich diese kann in der
config von isp eingeschaltet werden diese wird dann täglich erstellt und überschrieben

siehe config.inc.php

Code:
$go_info["server"]["do_automated_backups"] = 0; // 0 = no, 1 = yes; PLEASE NOTE: automated backups might fill up your HDD fast!

Standardmässig ist die ausgeschaltet
 

M. Zink

New Member
Nun ja, mit meinem selbst erzeugten Backup Skript bin ich schon ein Stück weiter. Dummerweise muss im im Moment noch von Hand die alten Dateien löschen. Das heißt ich erzeuge alle 12 Stunden ein komprimiertes Tar Archiv mit dem Datum + Stunde als Dateiname. Das wird auch schon automatisch auf den Backup Server geschoben und alles. Auch die Datenbanken sichere ich in einem Aufwasch mit. Das Problem ist jetzt nur noch das ich noch nicht raus gefunden habe wie ich in einem Shell Skript auf den FTP zugreife und dort prüfe von welchem Datum die Datei ist und dann z.B. wenn die Datei älter wie 5 Tage ist diese dann löschen lasse. Noch schöner wäre wenn ich vorgeben könnte wie viel Speicherplatz ich hab und dann wenn das Skript ermittelt hat das der Platz knapp wird die älteste Sicherung gelöscht wird. Das wär ultimativ nur ich hab 0 Ahnung wie ich das in nem Shellskript realisieren soll.
 

make-fun

New Member
Hallo

Es gibt eigentlich auch eine gute Möglichkeit FTP-Verbindungen über eine PHP-Programmierung zu machen und dieses Script über den Cron auszuführen(kann auch über die Shell laufen!).
Darin kannst du die PHP-Curl-Bibliothek (4 >= 4.0.3, PHP 5) verwenden, wenn diese auf deinem Server aktiviert ist. Das mag helfen, wenn du mit PHP evtl. vertrauter bist…

Tipp 2: verwende bei deinen Dateinamen der Backups z.B.
Code:
backUp_`date +%a_%H`-Uhr…
%a Wochentag
%H Stunde
(zu der der Cron aufgerufen wird)

Dadurch erhälst du max 14 Dateien im Format "backUp_Mon_04-Uhr, backUp_Mon_14-Uhr…", die sich somit selbstständig jede Woche überschreiben können.

Gruß
 
Zuletzt bearbeitet:

sjau

New Member
wieso greifst du über ftp zu und nicht ssh?

Mit SSH könntest du ein remote script ausführen lassen, dass die Dateien löscht, die älter sind als x-Tage...
 

s.rose

New Member
Und so löschen per cron

Code:
# Alle 2 Stunden alle temporären Datein loeschen, auf die länger
# als 2 Std. nicht zugegriffen wurde:
0 0-23/2 * * * for f in $(find /verzeichnispfad/ -amin +120); do [ -f "${f}" ] && rm "${f}"; done
-amin +120 == das Abstand zum Zeitpunkt des letzten Zugriffs in Minuten.
 

tom.1

New Member
Ich benutze für das Backup ein Shell-script, das auf DJTremors Script für die ISPConfig-Server-Duplikation (oder Backup) basiert in Verbindung mit ftplicity.

Das hat den Vorteil, dass die Daten zum einen auf einem anderen Server gesichert werden (der ftp-Backup-Server meines Providers) und dass die Backups verschlüsselt sind. Ich habe mich dabei grundsätzlich an dieses HowTo gehalten.

Allerdings lasse ich dann das o.g. Script als pre-script für ftplicity laufen.

Man muss das Script allerdings für seine Bedürfnisse ein wenig anpassen. In der vorliegenden Form ist es als Backup von ISPConfig eingestellt. Ich habe aber die Einstellungen für das Backup der Webseiten als Kommentar mit hineingeschrieben. D.h. man muss das für sich Passende nur auskommentieren und das Unpassende löschen oder einkommentieren.

Edit: Für ISPConfig3 muss in dem Teil des Scripts, der die Systembenutzer und -gruppen sichert, das Präfix für die Gruppen von web auf client geändert werden, sonst werden die Gruppen nicht mitgesichert. Das Gleiche gilt dem auskommentierten Teil, der die Vorlage für das Wiederherstellungsscript bildet.
 

Anhänge

  • ISPConfig-backup.sh.txt
    6,3 KB · Aufrufe: 862
Zuletzt bearbeitet:

Werbung

Top