Subversion Repositories sysadmin_scripts

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

#! /bin/bash

# script to run imapsync on a group of e-mail accounts
# Accounts are listed in users.list (default) or any text file of your choice
#     in the SAME DIRECTORY as the script
# Two optional and positional parameters
#    Param 1 -- input file name overriding default users.list (filename only)
#    Param 2 -- If entered (any value), will place script in test mode
# INPUT file is a line terminated, colon separated list of e-mail addresses/passwords
#     source_email:source_password:target_email:target_password
# each line in the file is considered to be a new entry.
# all e-mail will be copied from source to target
# NOTE: passwords can not contain colons, dollar signs, or any characters subject to shell substitution!!!

# set these to the source and target servers. Source is where you are coping FROM
SOURCE_SERVER=10.111.110.204
TARGET_SERVER=localhost

# get the path of this script
MYPATH=`dirname $0`
# load the initialization file. INPUT, OUTPUT defined
source $MYPATH/imapsync.include
# If first parameter, set it to the INPUT file name
[ "$1" == "" ] || INPUT=$MYPATH/$1
# validate the input file exists
if [ ! -e $INPUT ]
then
   echo $INPUT does not exist for processing, dying
   exit 1
fi
# if second parameter exists, create test parameters
[ "$2" == "" ] || TESTPARAMS=" --dry --justfolders"
# show start date/time
date > $OUTPUT
# and file name processed
echo Processing $INPUT > $OUTPUT
# loop through all entries in input file, performing 
{ while IFS=':' read  u1 p1 u2 p2; do \
          imapsync \
          --maxsize 20971520 \
          --syncinternaldates \
          $TESTPARAMS \
          --host1 $SOURCE_SERVER --user1 "$u1" --password1 "$p1" --authmech1 PLAIN \
          --host2 $TARGET_SERVER --user2 "$u2" --password2 "$p2" --authmech2 PLAIN ;
done ; } < $INPUT >> $OUTPUT
# show completion date/time
date >> $OUTPUT

# other parameters of interest for imapsync (place in TESTPARAMS
# --justconnect \
# --maxsize 5242880 \
# --dry \
# --delete2 \
# --delete2 --expunge2 \
# --justfolders \
# --justfoldersizes \

Generated by GNU Enscript 1.6.5.90.