Scriptet køre en biblioteksstruktur igennem og danner Wiki markup der injectes direkte ind i MySQL databasen
Det køres sådan:
./updateGallery.sh "FamilieBilleder" 28000 yes|no \[eGrep\]
Hvor FamilieBilleder svarer til /data/images/FamilieBilleder er den sti der løbes gennem
28000 Id på den side i Confluence der opdateres
yes|no angiver om der skal laves en Table of Content øverst
eGrep angiver om der skal køres en egrep på søgningen også, f.eks efter "Toke". eGrep er optional
Scriptets source:
#!/bin/bash html="" IFS=$(echo -en "\n\b") # Arguments Dir=$1 Id=$2 MakeToc=$3 GrepFor=$4 # Check Arguments if [ $# -lt 3 ] then echo "There are not at least 3 Arguments: Dir ArticleId yes/no" exit 0 fi if [ Dir == "" ] then echo "Argument 1 is empty" exit 0 fi if [ ! -d /data/images/$Dir ] then echo "Argument 1 Dir: $Dir does not exist" exit 0 fi cd /data/images/"$Dir" for file in `find . -type d | grep -v "thumbs" | grep -v "cache" | egrep -i "$GrepFor" | sort` do NumOfPics=`ls -t "$file" | egrep -i "\.(jpg|gif|png|bmp)$" | wc -l` if [ $NumOfPics -gt 0 ] then file=$(echo "$file"|sed 's/\.\///g') html="$html\\nh1. $file\\n{go-top}\\n" group=$file for image in `ls "$file" | egrep -i "\.(jpg|gif|png|bmp)$"` do file2=$(echo "$file"|sed 's/ /%20/g') html="$html\\n{me-image:path=$Dir/$file2/|image=$image|group=$group}" done html="$html\\n" fi # for movie in `find "$file"/ -maxdepth 1 -type f | grep -v thumbs | egrep -i "\.(bobsos|flv)$" | sort` # do # html="$html {me-video:/images/$Dir/$movie}" # done done if [ $MakeToc == "no" ] then sql="UPDATE BODYCONTENT set body='{include-lightbox}\\n{make-top}\\n$html' where contentid=$Id" else sql="UPDATE BODYCONTENT set body='{include-lightbox}\\n{make-top}\\n{toc}\\n$html' where contentid=$Id" fi echo "SET NAMES 'utf8';$sql" > /tmp/insert.sql #echo "SET NAMES 'utf8';$sql" mysql --user=cadmin --password=******** confluence < /tmp/insert.sql rm /tmp/insert.sql