summaryrefslogtreecommitdiff
path: root/ikiwiki-mass-rebuild
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki-mass-rebuild')
-rwxr-xr-xikiwiki-mass-rebuild27
1 files changed, 27 insertions, 0 deletions
diff --git a/ikiwiki-mass-rebuild b/ikiwiki-mass-rebuild
new file mode 100755
index 000000000..daba2ca43
--- /dev/null
+++ b/ikiwiki-mass-rebuild
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+wikilist=/etc/ikiwiki/wikilist
+
+processline () {
+ user="$1"
+ setup="$2"
+
+ if [ -z "$user" ] || [ -z "$setup" ]; then
+ echo "parse failure in /etc/ikiwiki/wikilist, line: '$user $setup'" >&2
+ exit 1
+ fi
+
+ if [ ! -f "$setup" ]; then
+ echo "warning: $setup specified in /etc/ikiwiki/wikilist does not exist, skipping" >&2
+ else
+ echo "Rebuilding $setup as user $user ..."
+ su "$user" -c "ikiwiki -setup $setup"
+ fi
+}
+
+if [ -e "$wikilist" ]; then
+ grep -v '^#' $wikilist | grep -v '^$' | while read line; do
+ processline $line
+ done
+fi