slitaz-forge annotate tank/tank @ rev 259

tank: move slitaz.pro to /home/slitaz/pro/web so pro domain are centralized
author Christophe Lincoln <pankso@slitaz.org>
date Wed Apr 11 00:23:15 2012 +0200 (2012-04-11)
parents b3842612ac3f
children 6dca1262684e
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@258 5 # (C) 2012 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@112 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@186 31
pankso@186 32 EOT
pankso@54 33 }
pankso@54 34
pankso@54 35 case "$1" in
pankso@54 36 backup|-b)
pankso@54 37 # Backup config files and SQL db.
pankso@68 38 echo "TODO" ;;
pankso@112 39 up-tank)
pankso@212 40 # Update Tank web interface
pankso@54 41 echo -e "\nUpdating: tank.slitaz.org..."
pankso@54 42 cd $REPOS/slitaz-forge
pankso@186 43 [ "$2" == "--nohg" ] || hg pull -u
pankso@104 44 rm -rf $VHOST/*.* $VHOST/images
pankso@54 45 cp -a tank/web/* $VHOST
pankso@54 46 echo "" ;;
pankso@112 47 up-people)
pankso@212 48 # Update People web interface
pankso@54 49 echo -e "\nUpdating: people.slitaz.org..."
pankso@54 50 cd $REPOS/slitaz-forge
pankso@186 51 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 52 rm -rf $WWW/people/*
pankso@54 53 cp -a people/* $WWW/people
pankso@54 54 echo "" ;;
pankso@106 55 up-pro)
pankso@212 56 # Update Pro website
pankso@106 57 echo -e "\nUpdating: pro.slitaz.org..."
pankso@106 58 cd $REPOS/slitaz-forge
pankso@186 59 [ "$2" == "--nohg" ] || hg pull -u
pankso@259 60 rm -rf $WWW/pro/web/*
pankso@259 61 cp -a pro/* $WWW/pro/web
pankso@106 62 echo "" ;;
pankso@112 63 up-boot)
pankso@212 64 # Update Web Boot interface
pankso@54 65 echo -e "\nUpdating: boot.slitaz.org..."
pankso@54 66 cd $REPOS/slitaz-forge
pankso@186 67 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 68 rm -rf $WWW/boot/*
pankso@54 69 cp -a boot/* $WWW/boot
pankso@54 70 echo "" ;;
pankso@112 71 up-cook)
pankso@212 72 # Update Web Boot interface
pankso@112 73 echo -e "\nUpdating: cook.slitaz.org..."
pankso@112 74 cd $REPOS/slitaz-forge
pankso@186 75 [ "$2" == "--nohg" ] || hg pull -u
pankso@112 76 cp -a cook/* $WWW/cook
pankso@253 77 # we have symlinks to repo
pankso@253 78 #cp -a cook/* $WWW/cook/undigest
pankso@253 79 #cp -a cook/* $WWW/cook/stable
pankso@112 80 echo "" ;;
pankso@212 81 up-roadmap)
pankso@212 82 # Update Roadmap Web interface
pankso@212 83 echo -e "\nUpdating: roadmap.slitaz.org..."
pankso@212 84 cd $REPOS/slitaz-forge
pankso@212 85 [ "$2" == "--nohg" ] || hg pull -u
pankso@212 86 cp -a roadmap/* $WWW/roadmap
pankso@212 87 echo "" ;;
pankso@112 88 up-stats)
pankso@189 89 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE
pankso@189 90 date >> $LOGFILE
pankso@187 91 for vh in pro boot cook people tank
pankso@54 92 do
pankso@188 93 /var/www/cgi-bin/awstats.pl \
pankso@188 94 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE
pankso@189 95 done && echo "" ;;
pankso@112 96 adduser)
pankso@54 97 echo ""
pankso@54 98 if [ -n "$2" ]; then
pankso@54 99 user=$2
pankso@54 100 else
pankso@54 101 echo -n "User name: " && read user
pankso@54 102 fi
pankso@239 103 if [ -n "$3" ]; then
pankso@239 104 gecos="$3"
pankso@239 105 else
pankso@239 106 echo -n "Real name: " && read name
pankso@239 107 fi
pankso@254 108 if [ -n "$4" ]; then
pankso@254 109 pass=$4
pankso@254 110 else
pankso@254 111 echo -n "Password: " && read pass
pankso@254 112 fi
pankso@54 113 if [ -d /home/$user ]; then
pankso@54 114 echo -e "User $user already exists...\n" && exit 1
pankso@54 115 fi
pankso@54 116 echo "Adding user: $user"
pankso@254 117 adduser -D -g "$gecos" $user -G users
pankso@254 118 echo $user:$pass | chpasswd --md5
pankso@246 119 addgroup $user slitaz
pankso@54 120 # HG access
pankso@254 121 #echo "$user:$pass" >> /etc/lighttpd/plain.passwd
pankso@54 122 # Public dir at http://people.slitaz.org/~$user/
pankso@59 123 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html
pankso@250 124 sed -i s/'%name%'/"$gecos"/ /home/$user/Public/profile.php
pankso@239 125 # Empty Shell profile
pankso@54 126 cat > /home/$user/.profile << EOF
pankso@54 127 # ~/.profile: Executed by Bourne-compatible login SHells.
pankso@54 128 #
pankso@54 129 EOF
pankso@247 130 #chown -R $user.$user /home/$user
pankso@54 131 echo -e "Done\n" ;;
pankso@54 132 *)
pankso@54 133 usage ;;
pankso@54 134 esac
pankso@54 135 exit 0