make create-user idempotent
authormegacz <megacz>
Tue, 1 May 2007 02:11:30 +0000 (02:11 +0000)
committermegacz <megacz>
Tue, 1 May 2007 02:11:30 +0000 (02:11 +0000)
create-user

index e4fafb7..d5f5a11 100755 (executable)
@@ -86,7 +86,7 @@ objectClass: posixGroup
 cn: $USER
 gidNumber: $ID
 memberUid: $USER
 cn: $USER
 gidNumber: $ID
 memberUid: $USER
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
 
 # USER.mailfilter entry
 echo "
 
 # USER.mailfilter entry
 echo "
@@ -106,7 +106,7 @@ objectClass: posixGroup
 cn: $USER.mailfilter
 gidNumber: $ID_MF
 memberUid: $USER.mailfilter
 cn: $USER.mailfilter
 gidNumber: $ID_MF
 memberUid: $USER.mailfilter
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
 
 # USER.cgi entry
 echo "
 
 # USER.cgi entry
 echo "
@@ -126,7 +126,7 @@ objectClass: posixGroup
 cn: $USER.cgi
 gidNumber: $ID_CGI
 memberUid: $USER.cgi
 cn: $USER.cgi
 gidNumber: $ID_CGI
 memberUid: $USER.cgi
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
 
 
 #
 
 
 #
@@ -150,9 +150,10 @@ sudo chmod 440            /etc/keytabs/cgi/$USER /etc/keytabs/mailfilter/$USER
 #
 
 # HOME VOLUME
 #
 
 # HOME VOLUME
-vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
+vos examine user.$USER 2>/dev/null || \
+  vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
 mkdir -p `dirname $HOMEPATH`
 mkdir -p `dirname $HOMEPATH`
-fs mkm $HOMEPATH user.$USER
+test -e $HOMEPATH || fs mkm $HOMEPATH user.$USER
 chown $USER $HOMEPATH
 fs sa $HOMEPATH $USER            all
 fs sa $HOMEPATH system:anyuser   rl
 chown $USER $HOMEPATH
 fs sa $HOMEPATH $USER            all
 fs sa $HOMEPATH system:anyuser   rl
@@ -162,10 +163,11 @@ mkdir -p $HOMEPATH/logs/apache
 fs sa    $HOMEPATH/logs/apache $USER.cgi rlwidk
 
 # MAIL VOLUME
 fs sa    $HOMEPATH/logs/apache $USER.cgi rlwidk
 
 # MAIL VOLUME
-vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
+vos examine mail.$USER 2>/dev/null || \
+  vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
 mkdir -p `dirname $MAILPATH`
 mkdir -p `dirname $MAILPATH`
-fs mkm $MAILPATH         mail.$USER
-fs mkm $HOMEPATH/Maildir mail.$USER
+test -e $MAILPATH || fs mkm $MAILPATH         mail.$USER
+test -e $HOMEPATH/Maildir || fs mkm $HOMEPATH/Maildir mail.$USER
 fs sa $MAILPATH $USER            all
 fs sa $MAILPATH $USER.mailfilter all
 
 fs sa $MAILPATH $USER            all
 fs sa $MAILPATH $USER.mailfilter all
 
@@ -201,8 +203,10 @@ fs sa -dir $MYSQLDIR -acl system:mysql  write
 
 mkdir -p `dirname /afs/hcoop.net/old/user/$PATHBITS`
 mkdir -p `dirname /afs/hcoop.net/old/mail/$PATHBITS`
 
 mkdir -p `dirname /afs/hcoop.net/old/user/$PATHBITS`
 mkdir -p `dirname /afs/hcoop.net/old/mail/$PATHBITS`
-fs mkm /afs/hcoop.net/old/user/$PATHBITS user.$USER.backup
-fs mkm /afs/hcoop.net/old/mail/$PATHBITS mail.$USER.backup
+test -e /afs/hcoop.net/old/user/$PATHBITS || \
+  fs mkm /afs/hcoop.net/old/user/$PATHBITS user.$USER.backup
+test -e /afs/hcoop.net/old/mail/$PATHBITS || \
+  fs mkm /afs/hcoop.net/old/mail/$PATHBITS mail.$USER.backup
 
 vos syncserv deleuze
 vos syncvldb deleuze
 
 vos syncserv deleuze
 vos syncvldb deleuze