Homepage automatisch abgleichen

Seite: 2/4
(1414 Worte insgesamt im Text)
(14521 mal aufgerufen)  Druckerfreundliche Ansicht

Abgleich über FTP und .netrc

Da FTP aber auf allen derzeit verfügbaren Linux-Servern zur Verfügung steht, möchte ich hier dennoch die normale Vorgehensweise erklären.

Grundinstallation/ Anleitung

Die eigentliche Arbeit erledigt die Datei .netrc (Punkt beachten!) im Verzeichnis des Benutzers, welcher die Homepage aktualisieren soll. Diese Datei existiert dort meist noch nicht. Legen Sie sie mit dem Befehl:
touch ~/.netrc
als dieser Nutzer an und bearbeiten Sie diese Datei dann mit einem Editor Ihrer Wahl.

Zur Erklärung:
Beim Starten des FTP-Programms (Achtung: das Programm jetzt nicht mit dem FTP-Server verwechseln!) sucht dieses im Heimatverzeichnis des startenden Nutzers nach der Datei .netrc, die wir gerade erstellt haben. Das später zur Sprache kommende Skript wird automatisch eine Verbindung mit FTP zum Server des Providers aufbauen und dann wird diese Datei abgearbeitet.

Zunächst steht in dieser Datei der angewählte, entfernte Rechner (es können auch mehrere Rechner angegeben werden - diese sind mit einer Leerzeile voneinander zu trennen) mit der dazugehörenden Nutzer-Passwort-Kombination. Hier folgt auch gleich ein Hinweis: das FTP-Programm prüft vor einer Verbindungsaufnahme die Dateirechte der Datei .netrc - sind diese unsicher, d.h. Andere könnten diese Datei und damit die in ihr enthaltenen Passwörter lesen, dann bricht das Programm den Verbindungsaufbau ab. Setzen Sie also immer mit dem Befehl:

chmod 0600 ~/.netrc
die Dateirechte auf einen sicheren Wert und vergessen Sie nicht, dies nach jeder Änderung zu prüfen.

Durch das Kommando "macdef" definieren wir jetzt ein "Makro" mit dem Namen "init" - dieses "init-Makro" wird bei jeder neuen Verbindungsaufnahme ausgeführt. Wenn wir dem Makro einen anderen Namen geben würden, so müsste dieses Makro explizit bei einer Verbindungsaufname aufgerufen werden. Das steht einer Automatisierung wie wir sie möchten natürlich im Wege.

Ein wichtiger Hinweis noch zum Schluß: die letzte Zeile in der Datei muss eine Leerzeile sein.
machine "www.ihredomaen.de" login "ihrbenutzername" password "ihr passwort" Hier werden Informationen zum angewählten Server und den dazu gehörenden Account-Daten hinterlegt.
Für Shuttle ist dies z.B.
machine "www.LANDKREIS.shuttle.de"
macdef init Mit dem Befehl "macdef" wird ein Makro definiert. Das "init" Makro wird bei der Verbindungsaufnahme automatisch ausgeführt.

Sie können beliebige Befehle durch ein Makro ersetzen - dazu müssen Sie nur ein neues Makro definieren (eine Zeile zum vorhergehenden Makro freilassen) und die Befehle dort hintereinander eintragen.
passiv on Dieser Befehl schaltet die passive Ãœbertragung ein - kann u.U. beim Einsatz einer Firewall notwendig werden.
binary Für die korrekte Übermittlung aller Daten (z.B. auch Bilder) schalten wir den binären Übertragungsmodus ein.
prompt Sicherheitsabfragen abschalten - sonst würde das Makro bei "Problemen" anhalten und auf eine Eingabe vom Benutzer warten. Da das bei einer automatisierten Übertragung hinderlich ist, schalten wir das ab.
put /home/homepage/public_html/haus.htm www/seiten/hausaufgaben/klasse1a.htm Hiermit wird die Seite "haus.htm" der Klasse 1a von unserem Server zum Server des Providers übertragen und bekommt dort den Namen "klasse1a.htm".

Wenn Sie auf Ihrer Homepage einen Link auf diese Datei setzen, können die Kinder so z.B. jeden Tag diese Seite bearbeiten und durch den automatischen "Upload" wird die Seite im Internet z.B. jeden Tag um 13.30 aktualisiert - rechtzeitig nach dem Mittagessen...
cd www/unsereDomain.de Mit diesem Kommando wechseln wir auf dem Server des Providers in das Verzeichnis, welches unsere gesammte Homepage enthält.
lcd /home/homepage/public_html Jetzt gehen wir auf unserem eigenen Server in das Verzeichnis, welche die aktuellste Version unserer Homepage enthält.
mput * Durch den Befehl "mput" können mehrere Dateien aus einem Verzeichnis in einem Rutsch übertragen werden.
cd www/unsereDomain.de/zeitungsag Hier wird in das Verzeichnis der Zeitungs-AG gewechselt.
lcd /home/zeitung/public_html Jetzt wird auch auf dem eigenen Server das Verzeichnis der Zeitungs-AG angewählt.
mput * ...und wieder wird durch den Befehl "mput" das gesammte Verzeichnis beim Provider mit den Inhalten des lokalen Verzeichnisses aktualisiert.
quit Damit beenden wir die Verbindung. Das sollte bei einer automatischen Verbindungsaufnahme nicht vergessen werden!
Die letzte Zeile der Datei muss eine Leerzeile sein!

Leider überträgt der Befehl "mput" keine Verzeichnisse oder gar deren Inhalte. Wer also z.B. alle Grafiken der Homepage im Ordner "grafik" sammelt, der muss nach dem "mput"-Befehl im Hauptverzeichnis mit den "cd"- und "lcd"-Befehlen in die entsprechenden Unterverzeichnisse wechseln, dort erneut mit "mput *" alle Dateien des Unterordners übertragen und anschließend durch "cd .." und "lcd .." wieder ins Hauptverzeichnis wechseln. Bei vielen Verzeichnissen kann es also in ziemliche Tipparbeit ausarten!

Glücklicherweise brauchen Sie sich diese Arbeit ja nicht allzu oft zu machen...

Kleiner Tip für die Erstellung der Datei:
Melden Sie sich am Server auf zwei verschiedenen Konsolen an - am besten, indem sie am Client zweimal Putty starten. Das eine Putty-Fenster können Sie nun zur Bearbeitung der Datei ".netrc" verwenden und im anderen Fenster die Befehle Schritt für Schritt eingeben.

Hinweis: Wenn Sie später einmal wieder manuell auf dem FTP-Server arbeiten möchten, schalten Sie mit der Option "-n" die Benutzung der Datei .netrc ab und starten Sie die Verbindung mit:
ftp -n www.nom.shuttle.de



Kommentare

Einen Kommentar hinzufügen


Bewertung

 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

Bete und arbeite. Denn andere wollen von dir leben.

-- anonymous