vserver: Don't break when no hashed files te delete.
[matthijs/servers/drsnuggles.git] / usr / local / bin / vserver-hashify-all
index e2df3b907c3e95c7897fa6e84b4bbb5c2697046c..763cfbfb489e25142c7171c30f72eda57a47077f 100755 (executable)
@@ -1,27 +1,25 @@
 #!/bin/sh
 
 # The dir containing vserver configuration
-VSERVERS_CONF=/etc/vservers
+VSERVERS_CONF="/etc/vservers"
 
-cd $VSERVERS_CONF
-for NAME in *; do
-       if [ ! -d $NAME ]; then
-               continue;
-       fi
-       if ! sudo vserver $NAME status &> /dev/null; then
+for VDIR in $VSERVERS_CONF/*; do
+       NAME=`basename $VDIR`
+       # Check if its config dir exists
+       if [ ! -d "$VDIR" ]; then
                continue;
        fi
        
        echo "Hashifying vserver $NAME..."
-       sudo vserver $NAME hashify
+       sudo vserver "$NAME" hashify
 done
 
 # Change to /tmp, to minimize the chance for an error to damage the root fs
 cd /tmp
 echo "Cleaning up unused hashed files..."
-for HASH_DIR in $VSERVERS_CONF/.defaults/apps/vunify/hash/*; do
-       if [ -L $HASH_DIR ]; then
+for HASH_DIR in "$VSERVERS_CONF"/.defaults/apps/vunify/hash/*; do
+       if [ -L "$HASH_DIR" ]; then
                # All symbolic links 
-               sudo find -H $HASH_DIR -type f -links 1 -print0 | sudo xargs -0 rm
+               sudo find -H "$HASH_DIR" -type f -links 1 -print0 | sudo xargs --null --no-run-if-empty rm
        fi
 done