Blog



Cronjob für Scheduler anlegen

Ich habe gerade für einen Bekannten einen Cronjob auf einem 1&1-Server angelegt um den Scheduler aufzurufen. Weil ich gleich mal alles mit geschrieben habe, damit er es das nächste mal selber machen kann, dachte ich mir, ich kann es auch gleich hier reinstellen.

Voraussetzung ist ein SSH Zugang und als Client-Software PuTTY.

  • PuTTY starten

  • SSH Verbindung zu ihrem_server.de

  • Login mit Username und Kennwort

  • cd verzeichnis-mit-ewm/
    Das ist das Verzeichnis, für das der Cronjob angelegt werden soll

  • pwd
    Damit wird der komplette Verzeichnispfad angezeigt. Dieser wird benötigt. Also aufschreiben/kopieren. Im Beispiel ist das:
    /kunden/homepages/1234/abc1234/htdocs/verzeichnis-mit-ewm

  • crontab -e
    Ruft den Cronjob-Editor auf. Achtung: das ist "vi", eine Zumutung für jeden normalen Menschen. Versuchen Sie bloß nicht mit den Pfeiltasten zu navigieren. Jeder falsche Tastendruck kann in einer Katastrophe enden.

  • o
    Das kleine "O" fügt neue Zeile nach der aktuellen ein. Dort können Sie nun Text eingeben.

  • */1 * * * * /kunden/homepages/1234/abc1234/htdocs/verzeichnis-mit-ewm/cgi-bin/tdbengine.cgi /kunden/homepages/1234/abc1234/htdocs/verzeichnis-mit-ewm/schedul/schedul.prg &>/kunden/homepages/1234/abc1234/htdocs/verzeichnis-mit-ewm/logfiles/cronlog.log
    Wie Sie sehen kommt hier dreimal der Pfad von vorhin vor. Einmal erweitert um cgi-bin/tdbengien.cgi, einmal schedul/schedul.prg und zum Schluss noch ein Logfile. Das wäre nicht unbedingt notwendig, aber man kann so leicht feststellen, ob alles richtig läuft.
    Die Sternchen am Anfang sind wichtig, bei bereits bestehenden Einträgen sehen Sie aber zusätzlich wie diese gesetzt werden müssen.

  • ESC :w
    Drücken Sie die Esc-Taste, dann den Doppelpunkt und zuletzt ein kleines "w". So wird die Datei gespeichert

  • ESC :q
    So wie gerade, nur mit q. So wird der Editor verlassen.

Jetzt können Sie noch mit "cd logfiles" in das Protokollverzeichnis wechseln und nachsehen, ob cronlog.log ein neues Datum bekommt. Mit "ls -l" wird das Verzeichnis aufgelistet. Wenn alles passt verändert sich Zeit und Datum der Datei nach spätestens einer Minute.

Der Editor ist leider eine echte Zumutung. Ohne Anleitung kann ich diesen auch nicht bedienen. Auf meinen Servern ist immer das erste, dass der rausgeschmissen wird und etwas sinnvolles benutzt wird. In der 1&1 Doku findet sich eine brauchbare Kurz-Anleitung zu vi oder auch hier [Link entfernt, weil Linkziel leider nicht mehr verfügbar] eine kurze Übersicht.


Dieser Artikel wurde veröffentlicht am 26.10.2008 um 10:50 Uhr. Noch kein Kommentar.

Website umstrukturieren und alte URLs retten

Öfter kommt es vor, dass man eine Website neu gestaltet und das auch mit einer Neuordnung der Inhalte einher geht. Dabei ändert sich nicht nur die Navigation, sondern daraus in Konsequenz die Adressen der Seiten - die URL. Besonders wenn man eine bestehende, bisher manuell erstellte, Seite erstmals mit einem CMS umsetzt, geschieht das oft mit einer Umstrukturierung der Inhalte. Seiten werden verschoben, zusammengefasst, entfernt und neu erstellt.

Doch was macht man mit all denen, die eine der alten Adressen als Lesezeichen im Browser gespeichert haben? Oder wenn auf einer anderen Website ein Link zu einer alten Seite steht? Sollen die Besucher dann eine unschöne Fehlerseite angezeigt bekommen?

Das muss nicht sein. Die eleganteste Lösung ist eine Weiterleitung zur neuen Adresse.

Beispiel:
Bisher gibt es eine Seite /sofindensieuns.html. Im neuen Auftritt wird die Seite /kontakt/anfahrt.html sein. Nun wird der Webserver angewiesen, beim Abruf von /sofindensieuns.html auf die neue Adresse weiterzuleiten. Als Weiterleitungscode wird 301 benutzt. Das bedeutet "Moved Permanently", also die Adresse wurde dauerhaft (permanent) geändert.

Eine solche Weiterleitung kann der Apache-Webserver mit installiertem mod_rewrite ausführen. Man muss nur eine Datei mit dem Namen .htaccess anlegen, in der spezielle Anweisungen stehen.

Für obiges Beispiel würde das so aussehen:
RewriteEngine on
RewriteRule ^(sofindensieuns\.html)$ /kontakt/anfahrt.html [R=301]

Wichtig ist bei der Ursprungs-Adresse der \. statt einem einfachen .. Es können nämlich die sogenannten regulären Ausdrücke benutzt werden und der Punkt hätte dann eine spezielle Bedeutung. Also muss er maskiert werden, was durch den vorgestellten \ geschieht. Ansonsten ist es doch einfach, oder?

Beispiel 2:
Alt:
  • /rezept/lebkuchen.html
  • /rezept/butterplaetzchen.html
Neu:
  • /weihnachten/backen.html

Bitte fragen Sie jetzt nicht nach den Sinn des Beispiels, aber es passt ja zur Adventszeit. 8-)
Es existieren also bisher zwei Seiten, die nun zu einer Neuen zusammengefasst werden sollen. Auch das ist ohne weiteres möglich. Man leitet einfach die beiden alten Adressen auf eine neue Zielseite um:

RewriteEngine on
RewriteRule ^(rezept/lebkuchen\.html)$ /weihnachten/backen.html [R=301]
RewriteRule ^(rezept/butterplaetzchen\.html)$ /weihnachten/backen.html [R=301]

Wie Sie sehen, muss das RewriteEngine on nur einmal angegeben werden.

Also "einfach" eine Liste aller alten Dateien machen, den passenden neuen Inhalt suchen und für jede alte Seite eine Weiterleitung zur entsprechenden neuen Seite einrichten. Das ist unter Umständen eine menge Arbeit. Aber Ihre Besucher werden es Ihnen danken. Suchmaschinen natürlich auch. 8-)

Hinweis: Der Artikel wurde inspiriert durch eine konkrete Anfrage eines Kunden, der seine bisherige Frontpage-Seite nun auf eforia umstellt. An dieser Stelle schöne Grüße und guten Flug. 8-)


Dieser Artikel wurde veröffentlicht am 12.12.2007 um 15:29 Uhr. Noch kein Kommentar.

.htaccess

Ich erhielt eine Mail eines Anwenders, der fragt, wie schlimm es den wäre, einen Provider zu benutzen, der keine .htaccess-Dateien unterstützt. Die Antwort möchte ich an dieser Stelle geben.

Der Apache-Webserver bietet die Möglichkeit Konfigurationseinstellungen über Dateien mit dem Namen .htaccess vorzunehmen. Wozu ist das gut?
Ein Beispiel: Der Webserver muss wissen, welche Datei ausgeliefert werden soll, wenn keine angegeben wird. Ruft ein Anwender http://www.wasauchimmer.de/ auf, liefert der Server meiste die Datei index.html aus. Welche Datei, ist eben eine Einstellung des Webservers. Die Apache Entwickler sind dabei auf die Idee gekommen, dass es ja durchaus sinnvoll ist, solch eine Einstellung direkt dort zu erlauben, wo sie getroffen werden soll. So entstanden die .htaccess-Dateien. Wie ich finde, eine klasse Idee. Habe ich ein Projekt, bei dem die Startseite eben nicht index.html sondern startseite.html ist, so lege ich eine .htaccess-Datei in genau dem Verzeichnis wo ich es benötige an und definiere dort eben genau das. Das Projekt kann nun von einem Server auf einen anderen umziehen ohne, dass diese Einstellung jedesmal in der Webserver-Konfiguration vorgenommen werden muss. Spitze!

Natürlich ist die Festlegung der Standardseite (DirectoryIndex) nur eine Möglichkeit. Man kann auch den Zugriff beschränken und viel viel mehr. Besonders mächtig ist dabei die Funktion URLs ändern zu können (rewrite).

Nun zurück zum ewm. Welche Rolle spielen .htaccess-Dateien?

Einmal werden direkt .htaccess-Dateien mitgeliefert um Verzeichnisse zu schützen. Dieser Schutz ist enorm wichtig. Ist er nicht vorhanden, kann jeder auf sämtliche Daten des Systems zugreifen. Natürlich kann man die Rechte auch entsprechend manuell setzen. Allerdings ist dies zusätzlicher Aufwand und bei einem Umzug des Systems kann es leicht vergessen werden.

Ansonsten benutzt ewm .htaccess nur noch um ohne Installation der tdbengine auf dem Server auszukommen. Dazu wird intern die URL so umgeschrieben, dass die tdbengine "dazwischengequetscht" wird. Das ist eine der drei Möglichkeiten tdbengine-Anwendungen auf dem Server auszuführen. Weil es ohne Installation auskommt und keine Anpassung der einzelnen Programme erfordert ist das sehr praktisch. Wenn man die tdbengine am Server installiert, braucht man das nicht.

Würde ich trotzdem auf .htaccess Wert legen?

Eindeutig: JA.

Ich habe kein (wichtiges) Projekt ohne .htaccess. Im einfachsten Fall um Aufrufe ohne www. auf die Adresse mit www. umzuleiten. Also wenn z. B. wenn jemand http://eforia.de eingibt, damit er bei http://www.eforia.de landet. Das ist z. B. wichtig, für das Suchmaschinen-Ranking. Ganz einfach gesagt können sonst Links auf beide Varianten eingehen und die Suchmaschine kann nur schwer entscheiden, welches die vom Webmaster gewünschte Variante ist.

Das geht mit:
RewriteEngine on
RewriteCond %{HTTP_HOST}   !^www\.eforia\.de [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^(.*)          http://www.eforia.de/$1 [R=301]

Auf tdbengine.org gibt es eine automatische Sprachauswahl. Wen die index.html abgerufen wird, der Browser aber als Sprache DE überträgt, und das noch vor einem eventuellen EN, wird auf index-de.html umgeleitet. Das sieht so aus:

RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^.*de.*$ [NC]
RewriteCond %{HTTP:Accept-Language} !^.*en.*de.*$ [NC]
ReWriteCond %{REQUEST_URI} !^.*index\.html$
RewriteRule ^(index\.html)?$ /index-de.html [L,R=301]

Das sind nur zwei kurze Beispiele, aber ich würde mir die Möglichkeit sowas einzusetzen nicht nehmen lassen. Auch wenn es mein Server ist und ich sowieso machen kann was ich will, finde ich es über .htaccess viel praktischer. Aus meiner Sicht gibt es auch keinen Grund darauf zu verzichten.

Dieser Artikel wurde veröffentlicht am 31.07.2007 um 20:10 Uhr. Noch kein Kommentar.
Zeige 1 - 3 von 3


Hier bloggt Horst Klier mit und über eforia web manager und was dazugehört (HTML, Javascript, Internet, Webdesign, Such- maschinenoptimierung, usw.).

>> Zur Blog Startseite

RSS-Feed
abonnieren


Übersicht über alle Beiträge



eforia® ist ein eingetragenes Markenzeichen.
Alle anderen Marken und Markenzeichen gehören Ihren jeweiligen Besitzern.
Letzte Aktualisierung dieser Seite: 25.04.2024 / 07:49:38
Suche  
Login / Userdaten
Impressum/Datenschutz