Ich habe auf meinen Debian Server (sarge, Kernel 2.6.9)
postfix (2.1.5), cyrus (2.1.18) und fetchmail installiert.
Das Mailsystem lief einge Monate ganz gut, aber plötzlich
habe sich ein ernsthaftes Problem ergeben, wo ich Hilfe benötige.
1. Cyrus login und Administration ist nicht mehr möglich(Evolution
,telnet,cyradm)
2. Cyrus füllt seine Logfiles und meine Platten mit irrwitziger
Geschwindigkeit und massenhaft redundanten Daten
Ich frage mich, was wohl mit dem System passiert ist, da ich an der
Konfiguration nichts geändert habe. Ich habe schon das alle Cyrus
Pakete entfernt und neuinstalliert, aber das Problem ist immer noch
vorhanden.
Kann mir jemand nen Tipp geben, wo ich suchen muss, um den Fehler zu
beheben?
Gruss,
Markus
my cyrus.conf
--------------
START {
recover cmd="/usr/sbin/ctl_cyrusdb -r"
delprune cmd="/usr/sbin/ctl_deliver -E 3"
tlsprune cmd="/usr/sbin/tls_prune"
}
SERVICES {
imap cmd="imapd -U 30" listen="imap" prefork=0
maxchild=100
pop3 cmd="pop3d -U 30" listen="pop3" prefork=0
maxchild=50
lmtp cmd="lmtpd" listen="localhost:lmtp" prefork=0
maxchild=20
lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp"
prefork=0
maxchild=20
sieve cmd="timsieved" listen="localhost:sieve"
prefork=0
maxchild=100
notify cmd="notifyd"
listen="/var/run/cyrus/socket/notify"
proto="udp" prefork=1
}
EVENTS {
checkpoint cmd="/usr/sbin/ctl_cyrusdb -c" period=30
delprune cmd="/usr/sbin/ctl_deliver -E 3" at=0401
tlsprune cmd="/usr/sbin/tls_prune" at=0401
}
my cyrus imapd.conf
--------------------
configdirectory: /var/lib/cyrus
defaultpartition: default
partition-default: /var/spool/cyrus/mail
partition-news: /var/spool/cyrus/news
newsspool: /var/spool/news
altnamespace: no
unixhierarchysep: no
admins: cyrus root postfix
allowanonymouslogin: no
popminpoll: 1
autocreatequota: 50000
umask: 077
sieveusehomedir: false
sievedir: /var/spool/sieve
drachost: localhost
hashimapspool: true
allowplaintext: yes
sasl_pwcheck_method: saslauthd
sasl_auxprop_plugin: sasldb
sasl_auto_transition: no
tls_ca_path: /etc/ssl/certs
tls_session_timeout: 1440
tls_cipher_list: TLSv1:SSLv3:SSLv2:!NULL:!EXPORT:!DES:!LOW:@STRENGTH
lmtpsocket: /var/run/cyrus/socket/lmtp
idlesocket: /var/run/cyrus/socket/idle
notifysocket: /var/run/cyrus/socket/notify
logfile mail.err
-----------------
Apr 23 17:32:56 xxx postfix/postfix-script: fatal: the Postfix mail
system is not running
Apr 23 17:32:59 xxx cyrus/deliver[5027]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5026]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5022]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:00 xxx cyrus/deliver[5021]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:33 xxx cyrus/deliver[5917]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:45 xxx cyrus/deliver[6480]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: skiplist
recovery: 1A50 should be ADD or DELETE
Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:33:48 xxx cyrus/master[4444]: process 4452 exited, status 75
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: skiplist recovery: 1A50
should be ADD or DELETE
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: FATAL: can't read mailboxes file
logfile mail.info
-----------------
Apr 23 17:34:39 xxx cyrus/lmtpd[6966]: FATAL: can't read mailboxes file
Apr 23 17:34:39 xxx cyrus/master[4444]: process 6966 exited, status 75
Apr 23 17:34:39 xxx cyrus/master[4444]: service lmtpunix pid 6966 in
READY state: terminated abnormally
Apr 23 17:34:39 xxx cyrus/master[6967]: about to exec
/usr/lib/cyrus/bin/lmtpd
Apr 23 17:34:39 xxx cyrus/lmtpunix[6967]: executed
Apr 23 17:34:40 xxx cyrus/lmtpd[6967]: DBERROR: skiplist recovery: 1A50
should be ADD or DELETE
Apr 23 17:34:40 xxx cyrus/lmtpd[6967]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:34:40 xxx cyrus/lmtpd[6967]: FATAL: can't read mailboxes file
Apr 23 17:34:40 xxx cyrus/master[4444]: process 6967 exited, status 75
Apr 23 17:34:40 xxx cyrus/master[4444]: service lmtpunix pid 6967 in
READY state: terminated abnormally
Apr 23 17:34:40 xxx cyrus/master[6968]: about to exec
/usr/lib/cyrus/bin/lmtpd
Apr 23 17:34:40 xxx cyrus/lmtpunix[6968]: executed
Apr 23 17:34:46 xxx cyrus/lmtpd[7025]: DBERROR: skiplist recovery: 1A50
should be ADD or DELETE
Apr 23 17:34:46 xxx cyrus/lmtpd[7025]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Logfile mail.warn
-----------------
Apr 23 17:32:56 xxx postfix/postfix-script: fatal: the Postfix mail
system is not running
Apr 23 17:32:58 xxx postfix/trivial-rewrite[4976]: warning: database
/etc/postfix/virtual.db is older than source file /etc/postfix/virtual
Apr 23 17:32:58 xxx postfix/cleanup[4971]: warning: database
/etc/postfix/virtual.db is older than source file /etc/postfix/virtual
Apr 23 17:32:59 xxx cyrus/deliver[5027]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5026]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5022]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:00 xxx cyrus/deliver[5021]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
pr 23 17:33:04 xxx cyrus/deliver[5131]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:04 xxx cyrus/deliver[5132]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:33 xxx postfix/smtpd[5894]: warning: database
/etc/postfix/virtual.db is older than source file /etc/postfix/virtual
Apr 23 17:33:33 xxx cyrus/deliver[5917]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:45 xxx cyrus/deliver[6480]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: skiplist
recovery: 1A50 should be ADD or DELETE
Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:33:48 xxx cyrus/master[4444]: process 4452 exited, status 75
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: skiplist recovery: 1A50
should be ADD or DELETE
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: FATAL: can't read mailboxes file
Apr 23 17:33:53 xxx cyrus/master[4444]: service lmtpunix pid 6518 in
READY state: terminated abnormally
Apr 23 17:33:53 xxx cyrus/lmtpd[6519]: DBERROR: skiplist recovery: 1A50
should be ADD or DELETE
Apr 23 17:33:54 xxx cyrus/lmtpd[6519]: DBERROR: opening
/var/lib/cyrus/mailboxes.db: cyrusdb error
Apr 23 17:33:54 xxx cyrus/lmtpd[6519]: FATAL: can't read mailboxes file
Logfile mail.log
----------------
Apr 23 17:32:45 xxx amavis[4315]: starting. amavisd snapshot-20020222
Mon Apr 1 10:31:35 EST 2002
Apr 23 17:32:50 xxx cyrus/master[4444]: process started
Apr 23 17:32:50 xxx cyrus/master[4452]: about to exec
/usr/sbin/ctl_cyrusdb
Apr 23 17:32:51 xxx cyrus/ctl_cyrusdb[4452]: recovering cyrus databases
Apr 23 17:32:56 xxx postfix/postfix-script: fatal: the Postfix mail
system is not running
Apr 23 17:32:58 xxx postfix/postfix-script: starting the Postfix mail
system
Apr 23 17:32:58 xxx postfix/master[4961]: daemon started -- version
2.1.5
Apr 23 17:32:58 xxx postfix/qmgr[4970]: 7D40E4CD4: from=<>, size=2486,
nrcpt=1 (queue active)
Apr 23 17:32:58 xxx postfix/trivial-rewrite[4976]: warning: database
/etc/postfix/virtual.db is older than source file /etc/postfix/virtual
Apr 23 17:32:58 xxx postfix/cleanup[4971]: warning: database
/etc/postfix/virtual.db is older than source file /etc/postfix/virtual
Apr 23 17:32:58 xxx postfix/pickup[4969]: E58474C47: uid=0 from=<root>
Apr 23 17:32:58 xxx postfix/cleanup[4971]: E58474C47:
message-id=<20050423153256.E58474...@xxx.yyy.org>
Apr 23 17:32:58 xxx postfix/qmgr[4970]: 7EECD4B91:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 7A4534D6F: from=<>, size=2792,
nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 78B414D03:
from=<logch...@xxx.yyy.org>, size=2283509, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 7E0014B53:
from=<r...@xxx.yyy.org>, size=1080, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 7DC814C12:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 633924E16: from=<>, size=2486,
nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: 6B8064BED:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: EE89A4BD2:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: E8C514B5E:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: E6FF34C2F: from=<>, size=3260,
nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: E08764CD9:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: EF34D4D33: from=<>, size=2582,
nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: E58474C47:
from=<r...@xxx.yyy.org>, size=1444, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx postfix/qmgr[4970]: F22794BCE:
from=<amavis-st...@xxx.yyy.org>, size=623, nrcpt=1 (queue active)
Apr 23 17:32:59 xxx cyrus/deliver[5027]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5026]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:32:59 xxx cyrus/deliver[5022]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:00 xxx cyrus/deliver[5021]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:00 xxx cyrus/deliver[5013]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
Apr 23 17:33:00 xxx cyrus/deliver[5024]:
connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
...
...
...
Markus Gillich wrote:
> lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp"
> prefork=0
> maxchild=20
Ist vor dem maxchild tatsächlich ein Umbruch? Bitte auch bei den anderen
Zeilen prüfen.
Darf cyrus überhaupt auf das Verzeichnis oben zugreifen?
| # ll /var/run/cyrus/
| drwxr-x--- 2 cyrus mail 4096 2005-04-15 07:16 socket
| # ll /var/run/cyrus/*
| srwxrwxrwx 1 root root 0 2005-04-15 07:16 lmtp
| srwxrwxrwx 1 root root 0 2005-04-15 07:16 notify
Grüße, Michael.
--
Niemals wird die Akademie zu Fall kommen: Solange es Toren gibt, gibt
es auch Schöngeister.
-- Charles-Louis de Montesquieu (Meine Gedanken)
> connect(/var/run/cyrus/socket/lmtp) failed: No such file or directory
> Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: skiplist
> recovery: 1A50 should be ADD or DELETE
> Apr 23 17:33:48 xxx cyrus/ctl_cyrusdb[4452]: DBERROR: opening
> /var/lib/cyrus/mailboxes.db: cyrusdb error
> Apr 23 17:33:48 xxx cyrus/master[4444]: process 4452 exited, status 75
> Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: skiplist recovery: 1A50
> should be ADD or DELETE
> Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: DBERROR: opening
> /var/lib/cyrus/mailboxes.db: cyrusdb error
> Apr 23 17:33:53 xxx cyrus/lmtpd[6518]: FATAL: can't read mailboxes file
Dein cyrus kann die mailboxes.db nicht mehr lesen. Versuch sie zu
reparieren. Beim cyurs 2.2.x gibt es dazu ctl_mboxlist. Es kann sein
das der Befehl beim 2.1.x anders lautet. Sollte das Reparieren
scheitern, spielst Du ein Backup ein.
Gruß
Philipp
Nö, das ist kein Umbruch. Ich hab den Text über die Google Newssuche
reingesetzt. Google hat's dann wohl selbst umgebrochen
> Darf cyrus überhaupt auf das Verzeichnis oben zugreifen?
Ja, cyrus darf.
Aber ich hab jetzt rausgefunden, wie auch im nächsten Posting schon
gesagt, das die mailboxes.db kaputt ist. Ich versuch das jetzt erstmal
zu reparieren.
Gruß,
Markus
Danke für den Tipp, leider ergibt
/usr/sbin/ctl_mboxlist -C /etc/imapd.conf -d
fatal error: can't read mailboxes file
Tja dumm gelaufen, für ein Backup hätte ich wissen müssen, dass
diese Datei gesichert werden muß ;). So wie es scheint, muß ich die
Datenbak dann wohl neu aufbauen, ist das möglich, so dass die Mails
wieder verfügbar sind?
Gruss,
Markus
Hast Du mal auf dem Filesystem nachgeschaut, ob die mailboxes.db
existiert? "can't read" kann auch bedeuten, daß die Datei vorhanden
aber nicht lesbar ist.
Es gibt auch noch das Kommando reconstruct. Wenn ich mich recht
entsinne war jedoch beim cyrus 2.1.x der Parameter -r nicht
implementiert :-(
Wenn die mailboxes.db nicht mehr vorhanden ist, heißt das nicht
automatisch, daß die vorhandenen Mails verloren sind. In der
mailboxes.db werden prinzipiell Mailboxinformationen gespeichert. Das
Format sieht in etwa so aus:
Mailboxname\tPartition\tRechte
Wenn alle verfügbaren cyrus Tools versagen, ist Handarbeit angesagt.
Dann kannst Du versuchen ein Skript zu schreiben, das aus den Dateien
unterhalb des Mailboxverzeichnisses die benötigten Informationen
zusammensucht und eine mailboxes Datei im Klartext erzeugt. Die kannst
Du dann in das benötigte Format konvertieren (ctl_mboxlist -u).
Ansonsten ist
http://acs-wiki.andrew.cmu.edu/twiki/bin/view/Cyrus/WebHome sehr
lesenswert.
Gruß
Philipp
Datei ist vorhanden und hat die richtigen Rechte
> Es gibt auch noch das Kommando reconstruct. Wenn ich mich recht
> entsinne war jedoch beim cyrus 2.1.x der Parameter -r nicht
> implementiert :-(
Hat alles nichts geholfen, mailboxes.db ist nachweislich defekt.
Es funktioniert nicht mal ein login mit cyradm.
Cyradm bleibt einfach stehen.
> Wenn alle verfügbaren cyrus Tools versagen, ist Handarbeit angesagt.
> Dann kannst Du versuchen ein Skript zu schreiben, das aus den Dateien
> unterhalb des Mailboxverzeichnisses die benötigten Informationen
> zusammensucht und eine mailboxes Datei im Klartext erzeugt. Die
kannst
> Du dann in das benötigte Format konvertieren (ctl_mboxlist -u).
Also meine Rettungsstrategie mit relativ wenigen Mailboxen und
Unterverzeichnissen (<100) und viel Googelei hat jetzt folgendermassen
funktioniert.
1. defekte mailboxes.db löschen
=>cyradm funktioniert wieder
2. Aus dem Spool-Verzeichnis für cyrus die Imap-Verzeichnisstruktur
rekonstruieren (ich hab's manuell gemacht, bei grösseren Systemen
gehts nur per Script)
3. Mailboxen und Unterverzeichnisse mittels cyradm wieder erstellen
(bei mir manuell möglich, sonst besser per script) => mailboxes.db
existiert wieder, login per mailclient möglich, Verzeichnisstruktur
ist wieder da, aber die alten mails sind weg.
4. für jede Imap-Mailbox und für jedes Unterverzeichnis in cyradm
einmal
reconstruct -r user.aaa.bbb.ccc durchführen.
=> Die Indices etc. für das Spoolverzeichnis werden neu generiert =>
Simsalabim, die alten Mails sind wieder da (Leider ist der gelesen
Status der Mails (jedenfalls bei mir) verschwunden)
5. Nachdenken, aus Fehlern lernen und die mailboxes.db mit ins Backup
legen. Ausserdem mit cyradm einen Klartext-Dump der Datenbank anlegen
(wichtig für eventuelle Cyrus-updates)
Danke für den Link.
Gruss,
Markus