Spostamento di una gerarchia Maildir sotto un'altro account: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 4: Line 4:
  sudo /tmp/sposta_maildir src_account dst_account
  sudo /tmp/sposta_maildir src_account dst_account


'''SISTEMARE PROBLEM DI MAILBOX SORGENTE CON PUNTI IN NOME.COGNOME'''  
'''TESTARE PROBLEM DI MAILBOX SORGENTE CON PUNTI IN NOME.COGNOME'''  
 
Esempio
 
SRC_CLEAN=$(echo $SRC | tr . _)


<pre>
<pre>
cat | sudo tee /tmp/sposta_maildir > /dev/null <<'EOFile'
#!/bin/bash
#!/bin/bash
SRC="$1"
SRC="$1"
DST="$2"
DST="$2"
SRC_CLEAN=$(echo $SRC | tr . _)


if [ "$(id -u)" -ne "0" ]
if [ "$(id -u)" -ne "0" ]
Line 40: Line 36:
fi
fi


echo Moving /home/${SRC}/Maildir to /home/${DST}/Maildir/.${SRC}
echo Moving /home/${SRC}/Maildir to /home/${DST}/Maildir/.${SRC_CLEAN}


cd /home/${SRC}/Maildir
cd /home/${SRC}/Maildir
Line 48: Line 44:
         then
         then
                 set -x
                 set -x
                 mv "$VAR" ".${SRC}$VAR"
                 mv "$VAR" ".${SRC_CLEAN}$VAR"
                 set +x
                 set +x
         fi
         fi
done
done
set -x
set -x
mkdir  .${SRC}
mkdir  .${SRC_CLEAN}
mv cur .${SRC}
mv cur .${SRC_CLEAN}
mv new .${SRC}
mv new .${SRC_CLEAN}
mv tmp .${SRC}
mv tmp .${SRC_CLEAN}


mv .${SRC}* /home/${DST}/Maildir
mv .${SRC}* /home/${DST}/Maildir
set +x
set +x
chown -R ${DST}: /home/${DST}/Maildir
chown -R ${DST}: /home/${DST}/Maildir
EOFile
</pre>
</pre>

Revision as of 15:20, 4 March 2008

Questo script sposta tutta la posta dell'account sorgente in una sottocartella dell'account destinazione.

Uso:

sudo /tmp/sposta_maildir src_account dst_account

TESTARE PROBLEM DI MAILBOX SORGENTE CON PUNTI IN NOME.COGNOME

#!/bin/bash
SRC="$1"
DST="$2"
SRC_CLEAN=$(echo $SRC | tr . _)

if [ "$(id -u)" -ne "0" ]
then
        echo You must be root to run this script. Aborting.
        exit 127
fi
 
if [ -z "$1" -o -z "$2"  ]
then
        echo Usage: sposta_maildir src_account dst_account
        exit 127
fi

if [ ! -e /home/${SRC}/Maildir ]
then
        echo /home/${SRC}/Maildir does not exist. Aborting
        exit 127
fi

if [ ! -e /home/${DST}/Maildir ]
then
        echo /home/${DST}/Maildir does not exist. Aborting
        exit 127
fi

echo Moving /home/${SRC}/Maildir to /home/${DST}/Maildir/.${SRC_CLEAN}

cd /home/${SRC}/Maildir
for VAR in .*
do
        if  [[ "$VAR" != "." && "$VAR" != ".." ]]
        then
                set -x
                mv "$VAR" ".${SRC_CLEAN}$VAR"
                set +x
        fi
done
set -x
mkdir  .${SRC_CLEAN}
mv cur .${SRC_CLEAN}
mv new .${SRC_CLEAN}
mv tmp .${SRC_CLEAN}

mv .${SRC}* /home/${DST}/Maildir
set +x
chown -R ${DST}: /home/${DST}/Maildir