Konvertera mbox till Maildir

Almänna diskussioner, tips m.m. om virtualisering
e7andy
Inlägg: 13
Blev medlem: 29 mar 2008, 15:49
Ort: Göteborg

Konvertera mbox till Maildir

Inläggav e7andy » 11 jun 2011, 21:14

Jag behöver konvertera mina mbox mailfiler till Maildir.

Jag har hittat en bra tutorial som passar mig:
http://www.usermadetutorials.com/2010/0 ... h-maildir/
Det är det sista steget som jag behöver lite hjälp med, dvs. själva konverteringen.
Min plan är att köra följande kommandon:
mb2md -m
mb2md -s ~/mail -R

Först konverteras inboxen och det andra kommandot konverterar övriga foldrar.
Inga problem...förutom att jag har ganska många användare och kommandona behöver köras som varje användare för att de ska fungera eftersom $HOME och ~ används.

Hur gör jag för att löpa över alla användare som har en fil i /var/spool/mail/ och exekverar de 2 kommandona?
Iofs så kan det lika gärna köras för alla användare på servern. Det bör funka lika bra.

Några funderingar: Måste alla användare ha ett shell, måste jag känna till lösenordet för varje användare, alla användare ligger i /etc/shadow och det bör jag kunna utnyttja på något sätt...

e7andy
Inlägg: 13
Blev medlem: 29 mar 2008, 15:49
Ort: Göteborg

Re: Konvertera mbox till Maildir

Inläggav e7andy » 28 okt 2011, 10:39

Nu har jag konverterat alla mailboxar.

För att göra det enkelt så skapade jag ett shellscript enligt nedan. Kanske kan vara användbart om någon vill göra något liknande.
convert_mbox_to_maildir.sh:

Kod: Markera allt

#!/bin/bash

# At least one argument must be given
if [ "$1" != '' ]; then


if [ "$2" != '' ]; then
   USER="$1@$2"
   HOME="/home/$2/homes/$1"
else
   USER="$1"
   HOME="/home/$1"
fi

echo "---------------------------------
Running convert script for
User: $USER
Home dir: $HOME
---------------------------------"

echo "cd $HOME"
cd $HOME
echo "sudo -u $USER mb2md -m"
sudo -u $USER mb2md -m
echo "sudo -u $USER mb2md -s mail/ -R"
sudo -u $USER mb2md -s mail/ -R

else

   echo "EXIT!"
fi

exit 0


Jag är ingen mästare på shellscript så det går säkert att göra det bättre, men det här funkade för mig på min server där användarna har samma namn som mailboxarna.

Skriptet tar en eller 2 argument och konverterar alla användarens mail från mbox till Maildir:
# convert_mbox_to_maildir.sh domainname
eller
# convert_mbox_to_maildir.sh username domainname


Återgå till "Allmänt"

Vilka är online

Användare som besöker denna kategori: 2 och 0 gäster