Website synchronisieren

sers!

hoffe, mein problem hat überhaupt was mit php zu tun :smile:
aber hab nix besseres gefunden! ansonsten soll ein mod den thread verschieben :wink:

also geht um folgendes:
ich kenne von meiner fh her das system, dass eine website lokal abgespeichert wird und in bestimmten intervallen dieser lokale ordner online abgestimmt (synchronisiert) wird, so dass exakt die gleichen dateien in den gleichen ordnern dann online auf seiner website zu sehen sind.
nun bräuchte ich hier für ein projekt das gleich/ein ähnliches system.
möchte in bestimmten abständen ordner untersuchen, ob die dateien darin geupdated worden sind und dann im zweifelsfall hochladen.
macht man das mit einem crone-job oder wie funktioniert das?
wo finde ich da informationen? oder mit was wird das überhaupt gemacht? php oder was völlig anderem?

für infos dankt im vorraus
Geisterkarle

oi… da gibts viele Möglichkeiten…
also mit php wird das nur klappen, wenn Dein Verzeichnis auch auf dem Webserver liegt bzw er das erreichen kann. Du solltest das dann aber eh mit einem cronjob (nicht crown-job) ansteuern. Wenn Du es mit Datenbank oder bei jedem Seitenaufruf machst ist das eben sehr serverlastig…

besser eben wie gesagt ein cron-job. das wäre dann ein einfaches shellscript…

also in etwa
#bin:bash! (ist zu lang her *g*)
cd /root/home/datadir/
cp * /opt/xamp/htdocs

*g* oder wenns ein Windows Rechner ist z.B. mit dem „at“ Befehl und einem kleinen batch-Script lösen.
Die DOS-Befehle trau’ ich Dir mal zu…

ansonsten gäbe es halt noch die Möglichkeit synchronisierungs-Software einzusetzen… davon sollte es im inet genug geben…

Als allerletzte Methode könnte man noch ein CMS also ein Content Management System einsetzen, aber das muss man immer selbst antriggern…

Hi,

wenn du nur in die eine Richtung synchronisierst, kannst du dir evtl. auch eine PHP Datei schreiben, die einen FTP Zugang zum Webspace öffnet und dann alle lokalen Dateien ins Internet überträgt.
Nachteil:

  • keine wirkliche Synchronisation, da immer alle Dateien geuploaded werden (Traffic)
  • funktioniert nur in eine Richtung, da alle Dateien im Web immer überschrieben werden
    Vorteil:
  • sehr einfach zu realisiseren. Das Skript kann per Cronjob angestoßen werden

Gruß, Soren

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

sers!

Aeh… Hallo,

hoffe, mein problem hat überhaupt was mit php zu tun :smile:

Naja…

[lokale Seiten mit dem webserver synchronisieren]
nun bräuchte ich hier für ein projekt das gleich/ein ähnliches
system.
möchte in bestimmten abständen ordner untersuchen, ob die
dateien darin geupdated worden sind und dann im zweifelsfall
hochladen.
macht man das mit einem crone-job oder wie funktioniert das?

Falls Du irgendein unixoides System hast ist das das Mittel der Wahl:

 $ man crontab
 $ crontab -e

wo finde ich da informationen? oder mit was wird das überhaupt
gemacht? php oder was völlig anderem?

Eigentlich… letzteres. Wenngleich ich mir aber sicher bin, dass sich da auch eine Lösung mit php findet.

Genau für sowas wurde übrigens rsync erfunden. Das macht vor dem eigentlichen Kopieren sehr aufwendige Vergleiche, um festzustellen, was wirklich kopiert werden muß. Und anschließend werden auf Subdateiebene nur die Bestandteile übertragen, die sich geändert haben: wenn in einer 200MB-Datei 100bytes zwischendrin durch 200 andere bytes ersetzt wurden, werden auch wirklich nur diese 200bytes übertragen. Damit lassen sich auch große web-Präsenzen sinnvoll aktuell halten.

HTH,
Gruß vom Frank.

[lokale Seiten mit dem webserver synchronisieren]
nun bräuchte ich hier für ein projekt das gleich/ein ähnliches
system.
möchte in bestimmten abständen ordner untersuchen, ob die
dateien darin geupdated worden sind und dann im zweifelsfall
hochladen.
macht man das mit einem crone-job oder wie funktioniert das?

Falls Du irgendein unixoides System hast ist das das Mittel
der Wahl:

$ man crontab
$ crontab -e

der server wird ein unixoides-system sein :wink: also sollte das kein problem darstellen!

wo finde ich da informationen? oder mit was wird das überhaupt
gemacht? php oder was völlig anderem?

Eigentlich… letzteres. Wenngleich ich mir aber sicher bin,
dass sich da auch eine Lösung mit php findet.

Genau für sowas wurde übrigens rsync erfunden. Das macht vor
dem eigentlichen Kopieren sehr aufwendige Vergleiche, um
festzustellen, was wirklich kopiert werden muß. Und
anschließend werden auf Subdateiebene nur die Bestandteile
übertragen, die sich geändert haben: wenn in einer 200MB-Datei
100bytes zwischendrin durch 200 andere bytes ersetzt wurden,
werden auch wirklich nur diese 200bytes übertragen. Damit
lassen sich auch große web-Präsenzen sinnvoll aktuell halten.

das klingt doch mal super!
wenn du mir jetzt noch nen link hast, bei dem ich infos dazu finde, bin ich vollauf zufrieden :smiley:

HTH,
Gruß vom Frank.

gruß zurück
Geisterkarle

der server wird ein unixoides-system sein :wink: also sollte das
kein problem darstellen!

Und das System, wo die Seiten, die Vorlagen fuer die auf dem webserver, liegen? Von dem aus soll ja die Synchronisation aus erfolgen, oder?

[rsync]

das klingt doch mal super!
wenn du mir jetzt noch nen link hast, bei dem ich infos dazu
finde, bin ich vollauf zufrieden :smiley:

Meine Empfehlung fuer cron: http://fcron.free.fr/
Das Original gab’s mal hier (wird wohl nicht mehr so gut gepflegt): http://www.vix.com/
rsync: http://www.google.de/search?q=rsynchttp://rsync.samba.org/

Gruss vom Frank.