Apache alle 5 Minuten reloaden

yourdom

Registered User
Hallo,

ich nutze SysCP 1.2.10 auf einem Debian woody Server
mit dem Apache 1.3.

Wenn ich einen Kunden einrichte, läuft alles perfekt.
- Ordner werden erstellt
- FTP-Benutzer werden eingetragen.
- Subdomains werden in die vhost geschrieben.

Doch möchte ich eine Subdomain aufrufen, dann zeigt die Subdomain
auf /var/www anstatt auf /var/kunden/webs/webXX.

Starte ich den Apache neu funktioniert es dann und alles ist so,
wie es sein soll. Nur richte ich dann eine Domain oder Subdomain ein,
geht es von vorne los.

Weiß jemand, wie ich den Apache alle 5 Minuten restarten kann (per Cron).
Von SysCP aus wird dieser nähmlicht neugestartet,
obwohl bei den SysCP-Einstellungen der richtige Restartbefehl dinn steht.

Bin für Eure Hilfe sehr dankbar!

Gruß

YourDom
 
bekomme jetzt folgende fehlermeldung in /var/mail/root:

Code:
From root@s2.ts01-server.de  Thu Jul  7 19:15:01 2005
Return-Path: <root@s2.ts01-server.de>
X-Original-To: root
Delivered-To: root@s2.ts01-server.de
Received: by s2.ts01-server.de (Postfix, from userid 0)
	id D11126B6CB; Thu,  7 Jul 2005 19:15:01 +0200 (CEST)
From: root@s2.ts01-server.de (Cron Daemon)
To: root@s2.ts01-server.de
Subject: Cron <root@84> /etc/init.d/apache restart  </dev/null
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20050707171501.D11126B6CB@s2.ts01-server.de>
Date: Thu,  7 Jul 2005 19:15:01 +0200 (CEST)

Restarting apache/etc/init.d/apache: start-stop-daemon: command not found
env: --start: Datei oder Verzeichnis nicht gefunden
 failed
 
Habe für folgende Zeile eine Datei names Apachecron in /etc/cron.d/ abgelegt und den cron neu gestartet.

Code:
*/5 * * * *	root	/etc/init.d/apache reload >/dev/null
Hatte das < gegen > getausch und jetzt bekomme eine leicht andere Fehlereldung:

Code:
From root@s2.ts01-server.de  Thu Jul  7 21:56:01 2005
Return-Path: <root@s2.ts01-server.de>
X-Original-To: root
Delivered-To: root@s2.ts01-server.de
Received: by s2.ts01-server.de (Postfix, from userid 0)
	id 953066B6CA; Thu,  7 Jul 2005 21:56:01 +0200 (CEST)
From: root@s2.ts01-server.de (Cron Daemon)
To: root@s2.ts01-server.de
Subject: Cron <root@84> /etc/init.d/apache reload >/dev/null
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20050707195601.953066B6CA@s2.ts01-server.de>
Date: Thu,  7 Jul 2005 21:56:01 +0200 (CEST)

/etc/init.d/apache: start-stop-daemon: command not found

Ich weiss nicht weiter.

YourDom
 
Last edited by a moderator:
Sieht fast so aus als würde die Datei /etc/init.d/apache nicht da sein? Heißt der Daemon bei dir vielleicht anders? zB apache2 oder httpd?
 
Der heist bei mir apache.
/etc/init.d/apache

Wenn ich es in einer Shell eingebe, funktioniert der Befehl
Code:
etc/init.d/apache restart

Habe jetzt den Befehl aus dem Cron herausgenommen und lasse
es nur über den SysCP-Cron laufen.

Und bekomme jetzt folgendes in die /var/mail/root geschrieben:
Code:
From root@s2.ts01-server.de  Fri Jul  8 10:25:02 2005
Return-Path: <root@s2.ts01-server.de>
X-Original-To: root
Delivered-To: root@s2.ts01-server.de
Received: by s2.ts01-server.de (Postfix, from userid 0)
	id 6848C6B6CA; Fri,  8 Jul 2005 10:25:02 +0200 (CEST)
From: root@s2.ts01-server.de (Cron Daemon)
To: root@s2.ts01-server.de
Subject: Cron <root@84> /usr/bin/php4 -q -c /etc/php4/syscpcron /var/www/syscp/scripts/cronscript.php
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20050708082502.6848C6B6CA@s2.ts01-server.de>
Date: Fri,  8 Jul 2005 10:25:02 +0200 (CEST)

/etc/init.d/apache: start-stop-daemon: command not found
env: --start: Datei oder Verzeichnis nicht gefunden
 
Nur mal so nebenbei....
ein 5minütiger sinnloser restart oder reload von Apache halte ich für unsinnig!
Sollte dein vhost-File mal größer werden wirst du alle 5 Minuten ne kleine HTTP-Downtime in Kauf nehmen müssen.
Macht für mich keinen Sinn.
Wieso denn reloaden/restarten, wenn es gar keinen Grund hat. Apache ist nicht Windows ;)
Ich weiß, dass du Freehosting betreiben willst, aber dann musst du einfach ein bissle kreativ werden und ein paar Scriptle schreiben, somit wird solch ein reload nicht mehr alle 5Mins nötig sein.... ;)
 
Der SysCP-Cron ist auf 15 Minuten eingestellt.
Der muss ja nur reloaden, damit die Änderungen an der vhost.conf aktiv
werden. Ich schätze mal, dass eine eingerichtete Domain nach 15 Minuten schon erreichbar sein sollte.
 
yourdom said:
Der SysCP-Cron ist auf 15 Minuten eingestellt.
Der muss ja nur reloaden, damit die Änderungen an der vhost.conf aktiv
werden. Ich schätze mal, dass eine eingerichtete Domain nach 15 Minuten schon erreichbar sein sollte.
Auch wenn der SysCP Cronjob alle X Minuten läuft, restartet/reloaded er Apache ja nur, wenn sich was geändert hat. Du würdest aber Apache alle 5min reloaden -- das wäre Unsinn.
Zum eigentlichen Problem (auch wenn ich das für keine wirklich gute Lösung halte): Vielleicht ist der PATH nicht bzw. falsch gesetzt? start-stop-daemon liegt bei mir in /sbin/, evtl. ist dieses Verzeichnis nicht im PATH.
 
Kleiner Hinweis:

Du solltest ein Script (Bash oder PHP oder Perl oder whatever) schreiben welches den "last change" Eintrag der vhost.conf überprüft. Und wenn in den letzten 15 min was geändert wurden dann Reload und ansonsten nix tun. Das kannst du dann sogar minütlich prüfen lassen.
 
Back
Top