slitaz-forge annotate tank/tank @ rev 388

tank: add up-bugs to up bugs interface on Tank
author Christophe Lincoln <pankso@slitaz.org>
date Tue Jan 07 15:46:20 2014 +0100 (2014-01-07)
parents e26cdc8c418f
children 5fa1b3698015
rev   line source
pankso@54 1 #!/bin/sh
pankso@186 2 #
pankso@75 3 # Tank - Admin Tank, backup, update and give stats.
pankso@54 4 #
pankso@388 5 # (C) 2012-2014 SliTaz - GNU General Public License.
pankso@54 6 # Author: Christophe Lincoln <pankso@slitaz.org>
pankso@54 7 #
pankso@54 8
pankso@54 9 REPOS="/home/slitaz/repos"
pankso@54 10 WWW="/home/slitaz/www"
pankso@54 11 VHOST="$WWW/tank"
pankso@54 12 WEBSITE="$WWW/website"
pankso@54 13 BACKUPS="/home/backups"
pankso@188 14 LOGFILE="/var/log/tank.log"
pankso@54 15
pankso@54 16 usage() {
pankso@186 17 cat << EOT
pankso@186 18
pankso@186 19 Usage: $(basename $0) [command]
pankso@54 20 Commands:
pankso@112 21 backup|-b Backup files and MySQL DB
pankso@112 22 adduser Add user on Tank and create people files
pankso@112 23 up-stats Update Awstats statistics (run by cron)
pankso@297 24
pankso@112 25 up-tank Update http://tank.slitaz.org/
pankso@112 26 up-people Update http://people.slitaz.org/
pankso@112 27 up-pro Update http://pro.slitaz.org/
pankso@112 28 up-boot Update http://boot.slitaz.org/
pankso@112 29 up-cook Update http://cook.slitaz.org/
pankso@212 30 up-roadmap Update http://roadmap.slitaz.org/
pankso@388 31 up-bugs Update http://bugs.slitaz.org/
pankso@186 32
pankso@186 33 EOT
pankso@54 34 }
pankso@54 35
pankso@54 36 case "$1" in
pankso@54 37 backup|-b)
pankso@54 38 # Backup config files and SQL db.
pankso@68 39 echo "TODO" ;;
pankso@112 40 up-tank)
pankso@212 41 # Update Tank web interface
pankso@54 42 echo -e "\nUpdating: tank.slitaz.org..."
pankso@54 43 cd $REPOS/slitaz-forge
pankso@186 44 [ "$2" == "--nohg" ] || hg pull -u
pankso@104 45 rm -rf $VHOST/*.* $VHOST/images
pankso@297 46 cp -a tank/web/* $VHOST
pankso@54 47 echo "" ;;
pankso@112 48 up-people)
pankso@212 49 # Update People web interface
pankso@54 50 echo -e "\nUpdating: people.slitaz.org..."
pankso@54 51 cd $REPOS/slitaz-forge
pankso@186 52 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 53 rm -rf $WWW/people/*
pankso@297 54 cp -a people/* $WWW/people
pankso@54 55 echo "" ;;
pankso@106 56 up-pro)
pankso@212 57 # Update Pro website
pankso@106 58 echo -e "\nUpdating: pro.slitaz.org..."
pankso@106 59 cd $REPOS/slitaz-forge
pankso@186 60 [ "$2" == "--nohg" ] || hg pull -u
pankso@259 61 rm -rf $WWW/pro/web/*
pankso@259 62 cp -a pro/* $WWW/pro/web
pankso@106 63 echo "" ;;
pankso@112 64 up-boot)
pankso@212 65 # Update Web Boot interface
pankso@54 66 echo -e "\nUpdating: boot.slitaz.org..."
pankso@54 67 cd $REPOS/slitaz-forge
pankso@186 68 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 69 rm -rf $WWW/boot/*
pankso@297 70 cp -a boot/* $WWW/boot
pankso@54 71 echo "" ;;
pankso@112 72 up-cook)
pankso@212 73 # Update Web Boot interface
pankso@112 74 echo -e "\nUpdating: cook.slitaz.org..."
pankso@297 75 cd $REPOS/cookutils
pankso@297 76 [ "$2" == "--nohg" ] || hg pull -u
pankso@298 77 cd $REPOS/slitaz-forge
pankso@298 78 [ "$2" == "--nohg" ] || hg pull -u
pankso@299 79 cp -a cook/* $WWW/cook
pankso@297 80 # We use symlinks for cooker's
pankso@297 81 cd $WWW/cook && rm -f style.css
pankso@297 82 ln -s $REPOS/cookutils/web/style.css .
pankso@300 83 cd $WWW/cook/cross && rm -f style.css
pankso@300 84 ln -s $REPOS/cookutils/web/style.css .
pascal@383 85 for web in stable undigest backports cross/arm cross/x86_64
pankso@297 86 do
pankso@301 87 echo "Linking: $web CSS/CGI files"
pankso@297 88 cd $WWW/cook/$web
pankso@297 89 for file in style.css cooker.cgi cookiso.cgi
pankso@297 90 do
pankso@297 91 rm -f $file
pankso@297 92 ln -s $REPOS/cookutils/web/$file .
pankso@297 93 done
pankso@301 94 # header.html
pankso@301 95 echo "Linking: $web/header.html"
pankso@301 96 rm -f header.html
pankso@301 97 ln -s ../header.html .
pankso@297 98 done
pankso@301 99
pankso@297 100 # No ISO's for undigest and ARM.
pankso@297 101 rm -f \
pankso@297 102 $WWW/cook/undigest/cookiso.cgi \
pankso@297 103 $WWW/cook/cross/arm/cookiso.cgi
pankso@112 104 echo "" ;;
pankso@212 105 up-roadmap)
pankso@212 106 # Update Roadmap Web interface
pankso@212 107 echo -e "\nUpdating: roadmap.slitaz.org..."
pankso@212 108 cd $REPOS/slitaz-forge
pankso@212 109 [ "$2" == "--nohg" ] || hg pull -u
pankso@297 110 cp -a roadmap/* $WWW/roadmap
pankso@212 111 echo "" ;;
pankso@388 112 up-bugs)
pankso@388 113 # Update Bugs Web interface
pankso@388 114 bugs="$WWW/bugs"
pankso@388 115 echo -e "\nUpdating: bugs.slitaz.org..."
pankso@388 116 cd $REPOS/tazbug
pankso@388 117 [ "$2" == "--nohg" ] || hg pull -u
pankso@388 118 cp -a web/* ${bugs}
pankso@388 119 cp README ${bugs}
pankso@388 120 chown -R www.www ${bugs}
pankso@388 121 echo "" ;;
pankso@112 122 up-stats)
pankso@189 123 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE
pankso@189 124 date >> $LOGFILE
pankso@187 125 for vh in pro boot cook people tank
pankso@54 126 do
pankso@188 127 /var/www/cgi-bin/awstats.pl \
pankso@188 128 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE
pankso@189 129 done && echo "" ;;
pankso@112 130 adduser)
pankso@54 131 echo ""
slaxemulator@279 132 if [ -d /home/$user ]; then
slaxemulator@279 133 echo -e "User $user already exists...\n" && exit 1
slaxemulator@279 134 fi
pankso@54 135 if [ -n "$2" ]; then
pankso@54 136 user=$2
pankso@54 137 else
pankso@54 138 echo -n "User name: " && read user
pankso@54 139 fi
pankso@239 140 if [ -n "$3" ]; then
pankso@239 141 gecos="$3"
pankso@239 142 else
pankso@239 143 echo -n "Real name: " && read name
pankso@239 144 fi
pankso@254 145 if [ -n "$4" ]; then
pankso@254 146 pass=$4
pankso@254 147 else
pankso@254 148 echo -n "Password: " && read pass
pankso@254 149 fi
pankso@54 150 echo "Adding user: $user"
pankso@254 151 adduser -D -g "$gecos" $user -G users
pankso@254 152 echo $user:$pass | chpasswd --md5
pankso@246 153 addgroup $user slitaz
pankso@54 154 # HG access
pankso@254 155 #echo "$user:$pass" >> /etc/lighttpd/plain.passwd
pankso@54 156 # Public dir at http://people.slitaz.org/~$user/
pankso@59 157 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html
pankso@250 158 sed -i s/'%name%'/"$gecos"/ /home/$user/Public/profile.php
pankso@239 159 # Empty Shell profile
pankso@54 160 cat > /home/$user/.profile << EOF
pankso@54 161 # ~/.profile: Executed by Bourne-compatible login SHells.
pankso@54 162 #
pankso@54 163 EOF
pankso@247 164 #chown -R $user.$user /home/$user
pankso@54 165 echo -e "Done\n" ;;
pankso@54 166 *)
pankso@54 167 usage ;;
pankso@54 168 esac
pankso@54 169 exit 0