PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql&FTP sync



dreamax
25.07.07, 22:59
Guten Tag,

Also ich habe folgendes vor:

Ich will einen ftp ordner und eine mysql datenbank auf server 1 (nur einen webspace account) auf meinen root server(server 2) übertragen (täglich einmal syncronisieren), nun ist meine frage wie ich das am besten anstelle. Ob ich extern auf die Mysql datenbank zugreifen kann weiß ich z.Z. noch, das finde ich gerade raus und editiers noch rein. Eigentlich hatte ich vor auf server 1 ein PHP script laufen zu lassen welches die mysql db täglich syncronisiert und auf server 2 per conjob diese zu download und per mysql(ssh befehl) einzufügen. Falls externer zugriff elaubt ist, ist es möglich dies besser (einfacher) zu machen? Und habt ihr einen tipp wie ich am besten das ftp verzeichniss von server 1 auf server 2 kriege?. Es soll jedoch nichts von server 2 auf server 1 transferiert werden.

Vielen Dank für Antworten

mfg
dreamax

marce
25.07.07, 23:02
ftp: rsync
mysql: Dump, Download, Import

ClausVB
26.07.07, 11:22
Ich habe mal einen FTP-Manager geschrieben, der von verschiedenen Quellservern ZIP und Tarballs zu verschiedenen Zielservern verschicken kann.

Ich habe auf Linux bestanden, weil ich mit Cronjobs besser umgehen kann, als geplante Tasks und mir der IIS im Absturzverhalten von ASP und Co nicht ganz transparent erscheint :-).

Folgende Komponenten habe ich benötigt:
- Shell-Skripte für die automatisierten Tarballs der MySQL Datenbanken
- Cronjobs auf Quell- und Zielserver, sowie dem Server für den FTP-Manager
- MySQL für Logins und Statistiken

PHP-Befehle:
http://de2.php.net/manual/de/function.ftp-connect.php
http://de2.php.net/manual/de/function.ftp-nlist.php
http://de2.php.net/manual/de/function.ftp-get.php
http://de2.php.net/manual/de/function.ftp-put.php
http://de2.php.net/manual/de/function.ftp-close.php

Das noch mit den Möglichkeiten von PHP5 (Konstruktoren, Destruktoren, try, catch, etc.) kombiniert, bekommen wir zu jedem Cronjob eine detailliertes Protokoll, was wann wie übertragen wurde, dass gleichzeitig (abgespeckt) in der MySQL-DB für Auswertungen und Statistken gespeichert wird.

Ich kann nur empfehlen, dass mit PHP zu realisieren, denn mir hat es Spaß gemacht und es läuft gut und zuverlässig.

Nachteil: Frontend plus Validierung ("Ist 192.168.256.1 eine gültige IP-Adresse?") war viel Arbeit, aber das Frontend brauchst Du ja wahrscheinlich nicht, weil Du alles direkt in MySQL eingeben kannst. Wenn Du MySQL überhaupt brauchst, denn bei 10 oder weniger IP-Adressen, kann man das sogar statisch im Skript (über Konstanten) regeln.

Gruß
Claus

PS: Die Variante von marce ist allerdings viel schneller zu implementieren.