From: thierry Date: Thu, 5 Apr 2007 07:34:09 +0000 (+0000) Subject: creation X-Git-Tag: foo~492 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=f4bde1de852285bab98a872c17b829d08b5f7558;p=infrastructure.git creation --- diff --git a/scripts/onelab-aliases.sh b/scripts/onelab-aliases.sh new file mode 100755 index 0000000..2022138 --- /dev/null +++ b/scripts/onelab-aliases.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +# $Id$ + +# to be run on the mail server at one-lab.org, to add aliases in that domain +# Example: +# new-alias.sh francois2.jan@orange-ftgroup.com +# -> creates two aliases +# francois2.jan@one-lab.org +# francois2.jan.private@one-lab.org + +COMMAND=$(basename $0) + +SQL="psql -U mail mail" + +function usage () { + echo "Usage: $command alias1 [ .. aliasn]" + exit 1 +} + +function create () { + + target=$1; shift + + namepart=$(echo $target | cut -s -d @ -f 1) + domainpart=$(echo $target | cut -s -d @ -f 2) + if [ -z "$namepart" -o -z "$domainpart" ] ; then + echo "WARNING: $target skipped" + continue + fi + for suffix in "" ".private" ; do + aliasname=${namepart}${suffix}@one-lab.org + sqlcommand="insert into alias values ( '${aliasname}', '${target}' )" + echo "Sending $sqlcommand" + echo "$sqlcommand" | $SQL + done + +} + +function list_aliases () { + echo 'select * from alias;' | $SQL +} + + +function main () { + + targets="$@" + + if [[ -z "$targets" ]] ; then + list_aliases + else + for target in "$@" ; do + create $target + done + fi +} + +main "$@"