[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Webserversynchronisation automatisieren



Am Sonntag, den 04. März 2001, um 16:45h schrieb Bernhard Marx:

> Ich möchte gerne das aktualisieren des Webservers automatisieren. Auf
> dem Rechner auf dem die Seiten erstellt werden läuft potato. Der
> Webserver ist irgendein sun Unix. Ich habe ftp-Zugang über
> port-forwarding und Zugriff über ssh. Auf dem Server scheint auch
> rsync vorhanden zu sein.
> 
> Ich habe folgende Wünsche:
>         
> - automatische Aktualisierung durch Komandozeile oder GUI-Mausklick
>         (dafür darf die Konfiguration auch ein bischen dauern)
> - ausschließen von Verzeichnissen
> - ausschließen von Backupdateien
> - Synchronisation in beide Richtungen 
>         - oder zumindest Meldung bei Änderung auf dem Server
> - sind seit der letzten Synchronisation sowohl Server als auch der
>         "Arbeitsrechner aktualisiert worden, dann sollte man manuell
>         wählen können welche Datei die andere überschreibt
> - logdatei 
> - schön wäre auch ein "als-ob" Modus wo nichts verändert wird, sondern
>         nur angezeigt, was verändert würde
> 
> Gibt es ein Debian Paket, das diese Wünsche erfüllt?
ja ... es heißt rsync ;-)

Update des Webservers:

===update_www.sh===
#!/bin/bash
echo "Update `hostname`->Webserver vom `date`:" >> update_www.log
sh update_www.cmdl >> update_www.log 2>&1
===/update_www.sh===

===update_www.cmdl===
rsync -azv --stats --partial --progress --exclude-from LOCALexclude.lst \
-e ssh --delete ~bernhard/webserver/ wwwadmin@webserver.de:/var/www/
===/update_www.cmdl===

Update Deines Rechners:

===update_me.sh===
#!/bin/bash
echo "Update Webserver->`hostname` vom `date`:" >> update_me.log
sh update_me.cmdl >> update_me.log 2>&1
===/update_me.sh===

===update_me.cmdl===
rsync -azv --stats --partial --progress --exclude-from WEBSRVexclude.lst \
-e ssh --delete wwwadmin@webserver.de:/var/www/ ~bernhard/webserver/
===/update_me.cmdl===

In die Datei LOCALexclude.lst trägst du alles (auch mit Wildcards) ein,
was vom lokalen Rechner unter ~bernhard/webserver nicht auf den
Webserver kopiert werden soll.

Analog trägst Du in WEBSRVexclude.lst ein, was nicht auf den lokalen
Rechner kopiert werden soll.

Mit der Option "--dry-run" täuscht rsync tatsächliche Aktionen vor
("als-ob-Modus")... verhält sich aber ansonsten normal. "--delete" sagt,
daß Daten gelöscht werden sollen, die auf dem Quell-Rechner nicht existieren
... ggfs weglassen.

Wenn Du nicht der einzige bist, der am Webserver rumpfuscht und Du
keine Lust hast, jedesmal, bevor Du deine Änderungen hochschickst
erstmal selbst ein Update zu machen, solltet Ihr Euch überlegen auf ein
Versionsmanagement-System umzusteigen => CVS (d.h. RTFM), was wohl dann
die sauberste Lösung ist.

Bei Fragen zu rsync hilft die Doku (man 1 rsync).
-- 
   Michael                  LDKnet / LDK/LUG / Unix-AG
     *Weitzel* /LinuX --- email: michael@ldknet.org

--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

668 eingetragene Mitglieder in dieser Liste.


Reply to: