diff options
Diffstat (limited to 'ikiwiki-mass-rebuild')
-rwxr-xr-x | ikiwiki-mass-rebuild | 27 |
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 |