vserver: Add a new script, vserver-hashify-all.
authorMatthijs Kooijman <matthijs@stdin.nl>
Thu, 16 Oct 2008 17:05:48 +0000 (19:05 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Thu, 18 Nov 2010 18:54:07 +0000 (19:54 +0100)
usr/local/bin/vserver-hashify-all [new file with mode: 0755]

diff --git a/usr/local/bin/vserver-hashify-all b/usr/local/bin/vserver-hashify-all
new file mode 100755 (executable)
index 0000000..055cc51
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# The dir containing vserver configuration
+VSERVERS_CONF="/etc/vservers"
+
+for VDIR in "$VSERVERS_CONF"/*; do
+       NAME=`basename $VDIR`
+       # Check if its a config dir
+       if [ ! -d "$VDIR" ]; then
+               continue;
+       fi
+       
+       if [ ! -d "$VDIR"/apps/vunify ]; then
+               echo "Skipping vserver $NAME, hashify is disabled"
+               continue
+       fi
+
+       echo "Hashifying vserver $NAME..."
+       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
+               # All symbolic links 
+               sudo find -H "$HASH_DIR" -type f -links 1 -print0 | sudo xargs --null --no-run-if-empty rm
+       fi
+done