Bakupsystem

Ich wollte mir ein kleines system bastel dass wenn der server von bplaced off is dass er dann automatisch auf einen anderen umleitet!

Aber wie kann ich checken ob der server on ist?
Auf dem funpicserver funzen die fopen nicht…

Kann mir jemand helfen
thx

anpingen… geht irgendwie mit php, weiß nur leider nicht wie … sry

ich hab da irgendwie ein verständnisproblem… wenn der server off ist, wie soll er dann weiterleiten?

du musst dir einen anderen hoster suchen.
dort ein php-script hosten und deine natürlich eine kopie deiner seite.
ich kann da auch einen hoster empfehlen. hat zwar ne trafficbeschränkung aber fopen geht. ich nutze den anbieter nur als ersatzseiten. von dieser seite wird dann überprüft ob die seite erreichbar ist und ob der server laggt oder die seite langsam lädt. dann leitet das script auf die ersatzseit um.

kerbination http://forum.bplaced.net/memberlist.php?mode=viewprofile&u=2297 hat mir bei so etwas sehr geholfen.

mfg
Grünni

Ich hab da ein kleines Script für geschrieben, das funktionieren sollte. Hier die Erläuterung:

Man benötigt:
Primärer Host (z.B. bplaced)
Alternativer Host (z.B. funpic)
eine Domain, oder Subdomain, die man frei auf irgendein Ziel lenken kann

Und so wird es aktiviert:
Die Seite muss auf beiden Hosts hochgeladen werden. Das PHP-Script muss auf dem alternativen Host hochgeladen werden (fsocksopen benötigt, das ist bei bplaced deaktivert!).
Die Domain muss auf das Script zeigen, also z.B. URL: muster.mu.funpic.de/script.php

So funktioniert es:
Das Script macht im Grunde genommen nix anderes als: Wenn Host 1 nicht erreichbar, verbinde zu Host 2. Daher ist wichtig, dass das Script nicht auf Host 1 liegt, sonst würde es ja nicht funktionieren, wenn dieser offline ist.

Was zu beachten ist:
Die Variablen $seite1 und $seite2 müssen entsprechend den eigenen Angaben geändert werden. Es wird zwingend fsocksopen auf dem Server benötigt, von dem das Script ausgeführt werden soll. Die Zahl “120” beim $check kann natürlich beliebg verändert werden.

Und hier ist das kleine Script

<?php

$seite1 = "www.muster.bplaced.net";
$seite2 = "www.muster.mu.funpic.de";
$url1 = "http://$seite1/";
$url2 = "http://$seite2/";
$check = @fsockopen($seite1, 80);
if ($check) {
@fclose($check);
header("Location: http://$seite1");
exit;
}else{
header("Location: http://$seite2");
}
?>

Edit: Natürlich geht das bei Funpic nicht, denn die haben auch fsockopen blockiert. Es gibt aber genug andere Hosts die das können (ich hab nen Paid, der das kann - und da liegen nur 4 solche Scripts für alle meine Seiten rum)

Bei dem Hoster geht fopen():

http://www.000webhost.com/

das könnte ich machen :ps: ein Offline-Umlenk-System (hab ja nen Paid und nen Homeserver)

Ich weiß nicht, ob der Reserver-Hoster so scharf drauf ist, eine relativ große
Seite zu hosten, nur, dass sie einmal im Jahr ein paar Tage lang angesurft wird :ps:
Vor allem, da dort ja Werbung geschaltet wird.

Ich finde die Idee klasse.
Danke sehr für den Tip und den Code, das bau ich mir auch.
Allerdings mit anderen Hostern.

Meine Haupt-Webseite ist zwar, sofort nach Ausfall von Server 2 auf funpic mit dem Seiten-Backup das einst auf dem verschwundenen Server 6 lag und das ich damals schon vorrausschauend rübergeschaufelt hatte, wieder auferstanden. Aber jetzt kann ich das endlich vernünftig und desastersicher machen (und ohne funpic)

Frage in dem Zusammenhang an die php-Wissenden die sich sowas schönes haben einfallen lassen:
Da natürlich alle meine Foren auf Server 2 unerreichbar waren, was meine Mitglieder zu wahren Begeisterungsorgien veranlaßt hat, und eine wie hier für Webseiten dargestellte Parallelinstallation mit dann wohl manuellem Datenbank hin und her schieben zu aufwendig ist…
Hat vielleicht jemand eine Idee, wie ich das Gleiche auch mit Foren samt Forendatenbanken realisieren kann? Bei einem forum wäre die manuelle Datenbankverschiebung ja noch zumutbar, aber es geht alleine bei mir um 5…7 Foren (aktuell, können auch mehr werden) und um wer weiß wie viele von Leuten die ich auch hier hergelockt hatte, ob des guten Hostings. Man sieht manuell ist das alles kaum zu bewältigen,noch dazu unter dem Druck des Endlosgemeckers der Mitglieder.

Ich denke das Hauptproblem werden die bei Freehostern generell nicht fremdserver-nutzbaren Datenbanken sein, oder? Die Dateien kann man ja problemlos so wie hier Webseiten behandeln.

Btw. ich strebe natürlich eine Lösung an, und wünsche mir auch nur Vorschläge in diese Richtung die mit den Regeln aller Hoster/Backup-Hoster konform sind,die Hosts also nicht unnötig belasten, aber mir ärgerliche Verärgerungen meiner Mitglieder ersparen.

Es ist ja unproblematisch sich für einen ganz kleinen Paidspace zu nehmen (z.B. evanzo: 22 Cent im Monat, 1MB) und darauf das Script zu hosten. Dann hat man auch gleichzeitig eine Toplevel-Domain.

Dann kann man die Seite immernoch z.B. bei funpic hosten. Auf dieses 1 MB bekommt man das Script locker über 200 Mal drauf, es ist wirklich extrem winzig.

Vielleicht scripte ich mal etwas zusammen, dass sich das Script aus 2 Eingabefeldern selbst erstellt und auf meinem Webspace ablegt, dann gibt es das Problemchen mit fsockopen nicht mehr. Es müssten dann lediglich die 2 Zielseiten ohne http:// eingegeben werden, und (Sub-)Domain auf das abgelegte Script zeigen, fertig.

wirklich gute idee mit dem system

ich seh es nur nicht als so sinnvoll die ersatzseite als kopie zu nutzen da das synchronisieren von den daten im vorn und nachherein n bisschen aufwändig werden könnte

bin grad schon am aufspielen der daten mit mysqldumper auf den anderen freespace gescheitert

[code]MySQL meldet:

User ‘a2588191_tsof’ has exceeded the ‘max_updates’ resource (current value: 50000)
[/code]

bei größeren datenmengen wird das sowieso langsam schwierig
phpmyadmin bricht schon nach 30 sek ab
mim dumper liefs grad 8 min bevor der server das ganze gestoppt hat

aber als ausweichlösung und um die leute drauf aufmerksam zu machen dass die site nicht komplett tot ist bzw. n platz zum info austauschen beizubehalten ohne dass man ständig domains umswitchen muss macht sich das script gut :slight_smile:

Dieses Problem stellt sich bei mir, also bei meiner Webseite mit Ausnahme der Foren, nicht.

Ich benutze dafür ein CMS mit Flatfiles, also ohne MySQL-Datenbank. Das kann ich 1:1 auf mehreren Hosts installieren, und wenn dann eines ausfällt und das andere gerade nicht aktuell ist, brauch ich nur die Content-Datei synchronisieren und bin wieder auf dem letzten Stand.

Bis ich den Ausfall merke arbeitet die Seite dann eben kurzfristig mit der Out of Date Datei, die man ja auch halbwegs aktuell halten kann, aber wenigstens ist dann was da und nicht nur eine Fehlermeldung.

Meine Überlegung ist eben, ob und wie man das mit Foren, sprich im Kern mit der MySQL-Datenbank genauso hinkriegt, ohne wie wild Datenbanken manuell zu jonglieren.

Das kann mySQL doch von sich aus. Das Ganze schimpft sich “Replikation”. Man markiert eine DB als Master, die andere als Slave.

Oder man stellt einen automatischen Dump ein, der alle x Minuten die Daten vom Server holt und somit die Ausweichdatenbank aktualisiert. Hier ist aber wieder ein Problem: Das ganze frisst natürlich Traffic rund um die Uhr…

Die schlankere Alternative wäre natürlich, nur die statischen Seiten auf den Alternativhoster zu laden und entsprechend zu Vermerken, dass momentan Foren wegen Wartungsarbeiten nicht erreichbar sind.

Die wirklich schlankerestesteteste Variante: Einfach eine eigene Fehlerseite “Meine Seite ist gerade nicht erreichbar, da am Server gerabeitet wird. Bitte versuchen Sie es später erneut” hochzuladen und darauf zu verweisen - Das würden sicherlich auch die meisten Freehoster dulden. Immerhin hat er dann ja für 2 Tage haufenweise Leute, die seine Werbung aufrufen, dafür dass es nichtmal 1 MB Speicher zur Verfügung stellt.

Ersteres hört sich so gut an, daß ich daran garnicht gedacht hab.
Besser gesagt würde ich befürchten, daß die Hoster krebsrot anlaufen, wenn man alle x Minuten die Datenbank abholen läßt und woanders hinlädt, oder irre ich da im Grundsatz?

Autodump alle 90 Sekunden - und die LEitung brennt :ps:

macht sich bei 60000 datensätzen etwas problematisch mit nem dump pro 90 sek :smiley:

hab jetzt versucht das switch script auf 000webhost.com zum laufen zu bringen
hat aber immer auf die 2. addresse umgeleitet deswegen hab ich nochmal ne datei zum testen hochgeladen was aber auch nicht ganz funktioniert hat

[code]<?php
error_reporting(E_ALL);

$test = fsockopen(“www.bplaced.net”);

?>[/code]

kam folgendes zurück

was genau mach ich falsch?

bzw. bei dem was auf seite 1 gepostet wurde hab ich auch nur die addressen ersetzt und es konnte anscheinend nicht verbunden werden

In meinem Script müssen nur die ersten zwei Variablen ($seite1 und $seite2) verändert werden. Dort muss folgendes rein, wenn du bei bplaced die Hauptseite hast und die Alternativseite woanders.

$seite1: www.deineseite.bplaced.net
$seite2: www.deinname.andererhost.com (die Adresse, wo auch die index.html liegt)

Das Script muss zwingend auf dem 2. Host abgelegt werden, da es sonst ja nicht umleiten kann. Wenn bplaced offline ist und das Script dort läge, dann würde es logischerweise nicht aufrufbar sein. Außerdem ist bei bplaced fsockopen deaktiviert, darum kann es hier nicht funktionieren.

Die Angaben bei $seite1&2 müssen ohne http:// erfolgen.

hab die 2. seite bei 000webhost.com da ist fsockopen aktiviert

bei dem script habich die addressen auch so eingesetzt hat aber immer auf die ersatzseite gelenkt auch wenn die bplaced seite erreichbar war deswegen hab ich mit dem testscript probiert wo das problem liegt (da deins keine fehlermeldungen ausgibt)

wollte jetzt wissen ob

$blub = fsockopen(“www.irgendeine addresse die es gibt.com”);

generell funzt wenn fsockopen aktiviert ist

Meld dich mal per PN bei mir, ich brauche folgende Angaben:

Link zu der bplaced-Index
Link zu der 000webhost-Index
Link zum Script

Dann deichsel ichd as schon :slight_smile: