Event-ManagerDiskutiere Event-Manager im Technik Forum im Bereich Plesk-Forum; Hallo,
ich habe ein Problem mit dem Plesk-Event Manager in Plesk 9.2. Ich habe ein Script auf der Shell als root-user ausgeführt und es läuft ... -
Event-Manager Hallo,
ich habe ein Problem mit dem Plesk-Event Manager in Plesk 9.2. Ich habe ein Script auf der Shell als root-user ausgeführt und es läuft tadellos. Da dieses Script die .qmail-Datei beliebiger Mailkonten "reaprieren" soll, nachdem sie von Plesk wieder übeschrieben wurden, soll das Script genau dann ausgeführt werden, wenn ein Mailkonto erstellt oder geändert wurde. Denn bei diesen Events überschriebt der Plesk die .qmail Dateien der entsprechenden Mailuser.
Ich habe also bei den Events Mailaccount created und Mailaccount updated jeweils dieses Script hinterlegt und den root-user gewählt und nebenbei die Priorität auf normal gestellt.
Dann habe ich testweise mal nen Mailaccount erstellt und geändert. Es passiert einfach nix. Ich habe mal ein paar echos in eine Datei laufen lassen, um mir den Inhalt der Variablen ausgeben zu lassen. Allerdings passiert auch hier nix. In den Serverlogs finde ich auch nichts erhellendes.
Es scheint einfach so, als würde der Event-Manager nix tun.
Hab ich irgendwo nen Fehler gemacht bzw. kann man da überhaupt was falsch machen? Ich bräuchte Hilfe bei der Fehlersuche.
Hier mal das Script um das es geht: Code: #!/bin/sh
create_qmail() {
file=$1/.qmail
echo file > /tmp/output.log
tempfile=$1/.qmailtmp
qmailfile= awk -v domain=$2 -v username=$3 '{
if ( match($0,"(\\.\\/Maildir|procmail)") == 0 ) {
if( match($0, "preline /usr/bin/procmail") ){
already = 1
}
print $0
} else {
found = 1
}
} END {
if ( already != 1 && found == 1){
printf("| preline /usr/bin/procmail -m -o /var/qmail/.procmailrc %s %s\n", domain, username )
}
}' $file > $tempfile
cat $tempfile > $file
rm -rf $tempfile
chmod 600 $file
chown popuser:popuser $file
}
dir=/var/qmail/mailnames
for i in $( ls -1 $dir); do
for x in $( ls -1 $dir/$i); do
create_qmail $dir/$i/$x $i $x
done
done -
AW: Event-Manager Hi, was wird hier den von Plesk genau übergeben ($1)?
um was zu loggen: Code: logger "Irgend ein text" -
AW: Event-Manager Hi,
also die Variablen werden durch ls -l in der for Schleife jeweils mit den Namen der aktuellen Maildomain und den aktuellen Benutzernamen belegt. Das Script editiert somit in jeder Maildomain die .qmail-Datei eines jeden Mailbenutzers. Es wird eine Zeile hinzugefügt und eine Zeile entfernt, damit Mails an procmail übergeben werden und wenn sie von Spamassassin als Spam erkannt wurden, werden sie von procmail in einen Spam Ordner verschoben. Ansonsten landen sie wie gewohnt über deliverquota in der Mailbox. Das funktioniert alles prima. Nur sobald im Plesk ein Mailaccount geändert oder erstellt wird, würde Plesk die .qmail überschreiben oder neu erstellen und dieses Script soll in genau diesen Fällen die Änderungen wieder in die .qmail reinschreiben.
Meines erachtens kann es eigentlich auch kein Fehler im Script sein, denn wenn ich es auf der Konsole als root ausführe, läuft es ja. Da Plesk dieses Script auch als root ausführen soll, wüsste ich nicht, wieso eine Anspassung des Scripts erforderlich sein sollte.
Loggen will ich einfach nur irgendwas irgendwohin, um zu sehen, ob dieses Script überhaupt startet, aber das tut es offensichtlich nicht=( -
AW: Event-Manager da hab ich wohl was überlesen jetzt wo du es sagst klar ....
dann kann ich mir nur noch vorstellen das er irgendein Programm nicht finden kann, weil die $PATH Variable nicht mit eingebunden wurde.
Also mal alle externen Programme awk, chmod, chown, cat, rm usw... mit absolutem Pfad angeben. -
AW: Event-Manager etwas verständlicher:
wenn man die Funktion create_qmail aufruft und dem aufruf "Text1" und "Text2" anfügt, dann sind die variablen $1 und §2 defaultmässig mit "Text1" und "Text2" belegt.
Für jedes Objekt in "ls -l" (was den Ordnernamen im aktuellen Verzeichnis entspricht, also den Namen der Domain unter /var/qmail/mailnames/...) wird also die Variable i mit dem aktuellen Domainnamen belegt.
In der verschachtelten for-Schleife wird in jedem "i" also in jedem Domainverzeichnis nochmal "ls -l" ausgeführt und somit die variable x jeweils mit den benutzernamen aus dem domainverzeichnis belegt.
die funktion qmail wird also z.B. so aufgerufen:
create_qmail DOMAIN USER.
dadurch wird die variable $1 dann mit DOMAIN belegt und $2 wird dann mit USER belegt.
Die Variablen werden also durch die for-Schleife belegt und es wird nichts vom Plesk übergeben. -
AW: Event-Manager  Zitat von harv da hab ich wohl was überlesen jetzt wo du es sagst klar ....
dann kann ich mir nur noch vorstellen das er irgendein Programm nicht finden kann, weil die $PATH Variable nicht mit eingebunden wurde.
Also mal alle externen Programme awk, chmod, chown, cat, rm usw... mit absolutem Pfad angeben. Sollte dann nicht irgendwo im Syslog was zu sehen sein, wenn er Programme nicht findet?
Aber ich werds mal testen, ne bessere Idee hab ich nämlich auch nicht=)
Danke für die Antwort! -
AW: Event-Manager
Sollte dann nicht irgendwo im Syslog was zu sehen sein, wenn er Programme nicht findet?
nicht wenn plesk das script mit angehängtem aufruft ;) -
AW: Event-Manager  Zitat von harv nicht wenn plesk das script mit angehängtem aufruft ;) oh man *schäm* Event-Manager Ähnliche Themen zu Event-Manager -
Domain event notification: The period of validity is about to expire.: The validity period of the 'domain.tld' domain owned by client 'clientname' (Contact name... -
Migration Manager: Zu wenig Speicherplatz auf dem Quellhost: Hallo zusammen,
mittels Plesk Migration Manager möchte ich eine Domain migrieren und habe dabei... -
Vserver mit Windows 2008 und Plesk 9.3.0 Backup Manager und Warning indicator-disk-us: Guten Tag,
ich habe einen Windows Vserver 2008 mit Plesk 9.3.0 und das ganze läuft unter... Besucher kamen mit folgenden Begriffen auf die Seite: Domain event notification: The period of validity is about to expire.,
Client account event notification: The period of validity is about to expire.,
Domain event notification: The period of validity is about to expire,
The validity period of client account,
plesk event manager,
plesk Domain event notification: The period of validity is about to expire.,
Client account event notification: The period of validity is about to expire,
Domain event notification: The period of validity is about to expire. plesk,
plesk 9.2 domain event notification: the period of validity is about to expire.,
http:www.plesk-forum.deevent-manager-2140.html,
was machen eventmanager,
plesk The validity period of the,
plesk panel variablen ereignis manage,
plesk The validity period of client account,
plesk event manager variables,
the validity period of client account is about to expire,
The validity period of client account is about to expire.,
plesk event variablen,
zitate eventmanager,
The validity period of the domain owned by client,
domain event notification the period of validity is about to expire,
plesk Domain event notification: The period of validity is about to expire,
eventmanager,
plesk-forum.de plesk The period of validity is about to expire,
plesk event script
|