Mails auf Kisten per SSH abholen

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Mails auf Kisten per SSH abholen

Beitrag von zyta2k » 05.12.2003 12:11:49

Hallo,
habe ein Problem. Das mit dem exim Konfigurieren hat wohl nicht wirklich geklappt (FW's, Rechte, NAT, etc...).

Da ich aber Zugriff über SSH auf alle Hosts habe denke ich dass der Schlüssel zum Erfolg irgendwie da liegt.

Was ich möchte:
Ein Script, dass sich auf drei Servern (A,B und C) einloggt, die Files von root sammelt und mir lokal in mein spool ablegt.

Das Problem.
Ich weiss nicht wie :/

Hat das schon jmd. gemacht ?
Oder eine Idee ?

Wär um Tipps dankbar :/

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 05.12.2003 12:14:49

Hab das zwar noch nie gemacht, aber bei fetchmail kann man meines Wissens SSH einbinden. Allerdings setzt es dann wohl POP/IMAP auf dem Zielhost vorraus. Aber viellicht gehts ja?
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 05.12.2003 12:16:24

Bert hat geschrieben:Hab das zwar noch nie gemacht, aber bei fetchmail kann man meines Wissens SSH einbinden. Allerdings setzt es dann wohl POP/IMAP auf dem Zielhost vorraus. Aber viellicht gehts ja?
Also auf den Servern jeweils POP Services aufziehen und dann via SSH Tunnel die Mails davon holen ?

*hrm*
Overkill :?

update:
Sowas in dem Stil ists :)
http://www.tldp.org/HOWTO/Compressed-TCP-3.html

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 05.12.2003 13:26:57

Mein Script:

Code: Alles auswählen

#!/bin/bash

REMOTE_TMPFILE="/root/incomingmails_from"
LOCALTMPPREFIX="$HOME/incoming_"

SERVER_ARRAY="www.foobar.com www.foobar2.com"

for SERVER in $SERVER_ARRAY
do
 # Prepare Mails (Move to $TMPFILE)
 ssh -l root $SERVER -f mv /var/spool/mail/root $REMOTE_TMPFILE

 # Mails abholen und in Temporäres File ablegen...
 scp -q root@$SERVER:$REMOTE_TMPFILE $LOCALTMPPREFIX$SERVER

 # Incoming Mails an Mailbox anhängen...
 cat $LOCALTMPPREFIX$SERVER >> /var/spool/mail/$SERVER

 # Rechte Setzen für userfoo
 chown userfoo /var/spool/mail/$SERVER
 chmod 600 /var/spool/mail/$SERVER

 # Aufräumen...

 # Lokales TMPFILE löschen
 rm $LOCALTMPPREFIX$SERVER

 # Auf Remote Host das Mailfile "touchen" (damit mv kein error gibt)
 ssh -l root $SERVER -f touch /var/spool/mail/root

# End :)
done

Antworten