Sicherung vBulletin Forum auf ftp Server

lightmetal

hate.love
Registriert
27. Dezember 2003
Reaktionspunkte
0
Ort
Dresden
Ich bin ein wenig begabt mit diesen Rechenkisten und mein Forum läuft auch sehr gut.

Bisher mach ich die Backups per Hand allerdings würde es sich mittlerweile lohnen so einen "Cronjob" einzurichten.

Zum Speichern würde sich ein zu Hause stehender FTP Server anbieten und das würde ich gern täglich in den sehr frühen Morgenstunden machen lassen.

Ich hab schon ein wenig google bemüht allerdings bin ich zu knapp garkeinem Ergebniss gekommen.

Hat hier jemand Tipps oder weiterführende Lektüre die nicht zu wissenschaftlich sind?

gruß
 
entweder du richtest dir daheim auf einer linux-kiste einen cron-job ein der den webserver mit dem vBulletin kontaktiert, oder du machst es umgekehrt.

im umgekehrten fall wird das bissl schwieriger, weil sich deine IP daheim immer ändert. du müsstest einen dyndns einrichten.

wenn dein rechner daheim den webserver anspricht, kannst du das per cronjob machen.
eine cronjob kannst du per crontab einrichten. kannst du (z.b. bei openSuse) nachträglich über Yast installieren. (müsste aber drauf sein)

in den cronjob, welchen du einrichtest, kannst du wget mit den entsprechenden parametern eintragen. z.b.:

0 0 * * 0 wget --mirror ftp://deinserver-mi-vbulletin/pub/dir/ -o /dein/heim/server/

aber vergiss nicht das vBulletin auch eine MySQL Tabelle benötigt, welche damit noch nicht gesichert ist, - außer die MySQL Binär-Daten liegen direkt im FTP-Verzeichnis. Diese sind aber meist wo anders auf den webserver gespeichert. besser wäre uach ein MySQL Dump zu erstellen und dieses dan runterzuladen.

Dafür kannst du auf dem webserver auch ein script schreiben, welches vor dem backup über deinen heimrechner aufgerufen wird. möglich wäre auch sich per mysql von daheim auf die datenbank zu verbinden. das ist aber ein sicherheitsrisiko da die webserver-mysql-datenbank nur über localhost ansprechbar sein sollte um das ungewollte eindringen von fremden erst gar nicht möglich zu machen.

kannst du auf dem webserver einen cronjob einrichten?
 
Der Webserver mit dem Forum ist ein VPS. Auf diesem kann ich recht viel machen, bilde mir auch ein im Plesk oder Virtuozo schonmal die Möglichkeit für ein Crontab/Cronjob gesehen zu haben.

Den FTP Server müsste ich in der Tat via. Dyndns erreichen - dessen war ich mir bewusst.

Also müsste ich zum einen die Dateien durch den Cronjob sichern und dann die Datenbank als Dump. Das wichtigste wären in der Tat nur die Beiträge und alles was an neuen Dingen jeden Tag anfällt wie PMs, div. Benutzereinstellungen etc.

Spricht nun also dafür das ich generell nur die Datenbank sichern müsste. An reinen Dateien tut sich nicht viel - die fertige Installation mit allen Hacks habe ich einmal gesichert und die 5 Bilder die mal hochgeladen werden wären kein so schlimmer Verlust. Das kann ich dann erstmal weiter händisch machen. Soweit schonmal danke für die Aufklärung.

Priorität hat vorerst die Sicherung der Datenbankinhalte.
 
um den dump zu überspielen, gibt es ua. diese 2 möglichkeiten:


dump direkt in deine lokale mysql-datenbank laden.
setzt aber voraus das du von deinem home-server eine mysql verbindung zum webserver aufbauen kannst.

mysqldump -uroot -pxxxxx database_name | mysql -h newhost.com -uroot -pxxxxx database_name


oder dieser weg, der viel sicherer ist, weil er für den datentransfer die ssh-verbindung nutzt: (setzt ssh-zugang auf beiden rechnern voraus)

mysqldump -uroot -pxxxxx database_name | ssh [email protected] "mysql -uroot -pxxxxxxx database_name"

das bringt den dump mit stdout über pipe (|) dirkt an den newhost und dann in mysql
 
um den dump zu überspielen, gibt es ua. diese 2 möglichkeiten:


dump direkt in deine lokale mysql-datenbank laden.
setzt aber voraus das du von deinem home-server eine mysql verbindung zum webserver aufbauen kannst.

mysqldump -uroot -pxxxxx database_name | mysql -h newhost.com -uroot -pxxxxx database_name


oder dieser weg, der viel sicherer ist, weil er für den datentransfer die ssh-verbindung nutzt: (setzt ssh-zugang auf beiden rechnern voraus)

mysqldump -uroot -pxxxxx database_name | ssh [email protected] "mysql -uroot -pxxxxxxx database_name"

das bringt den dump mit stdout über pipe (|) dirkt an den newhost und dann in mysql

Was je nach Internetverbindung recvht lange dauern könnte.

Mein Tipp in x Schritten:

1.: Dyndns auf deinem Heimrechner einrichten
2.: leg dir den ssh Schlüssel von deinem Heimrechner auf den Server, so kannst du ohne Passworteingabe per ssh auf den Heimrechner zugreifen. Den Schlüssel legst du am besten für eine Nutzer ab der nur schreibrechte im Backupzielverzeichnis hat und ansonsten nix weiter darf.
3.: Script schreiben, welches dir auf dem Webserver
a) einen Dump deiner DB macht und diesen danach packt (tar.gz)
b) den gepackten Dump in ein Backupverzeichnis kopiert, in dem du am besten noch die Dumps der letzten x Tage aufbewahrst, das älteste kann ja dann gelöscht werden.
c) rsync des Verzeichnisses mit den DB Backups
d) rsync des Dateiverzeichnisses des Forums

alternativ zu b) und c) kannst du auch die DB anhalten, rsync des mysql Verzeichnisses machen und danach die DB wieder starten hast dadurch dann aber eine kleine Downtime.

Vorteil an rsync ist, dass es nur die Daten überträgt die sich wirklich geändert haben. Damit wird z.B. nicht immer einen ganze Datei übertragen sondern nur der geänderte Teil.


Grüße Joachim
 
Zurück