slitaz-forge annotate tank/tank @ rev 189

tank: small improvment to util
author Christophe Lincoln <pankso@slitaz.org>
date Tue Mar 20 23:00:45 2012 +0100 (2012-03-20)
parents e9b52249d33e
children e66637a701c4
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@54 5 # (C) 2011 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@186 30
pankso@186 31 EOT
pankso@54 32 }
pankso@54 33
pankso@54 34 case "$1" in
pankso@54 35 backup|-b)
pankso@54 36 # Backup config files and SQL db.
pankso@68 37 echo "TODO" ;;
pankso@112 38 up-tank)
pankso@54 39 # Update Tank web interface: http://tank.slitaz.org/
pankso@54 40 echo -e "\nUpdating: tank.slitaz.org..."
pankso@54 41 cd $REPOS/slitaz-forge
pankso@186 42 [ "$2" == "--nohg" ] || hg pull -u
pankso@104 43 rm -rf $VHOST/*.* $VHOST/images
pankso@54 44 cp -a tank/web/* $VHOST
pankso@54 45 echo "" ;;
pankso@112 46 up-people)
pankso@54 47 # Update People web interface: http://people.slitaz.org/
pankso@54 48 echo -e "\nUpdating: people.slitaz.org..."
pankso@54 49 cd $REPOS/slitaz-forge
pankso@186 50 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 51 rm -rf $WWW/people/*
pankso@54 52 cp -a people/* $WWW/people
pankso@54 53 echo "" ;;
pankso@106 54 up-pro)
pankso@106 55 # Update Pro website: http://pro.slitaz.org/
pankso@106 56 echo -e "\nUpdating: pro.slitaz.org..."
pankso@106 57 cd $REPOS/slitaz-forge
pankso@186 58 [ "$2" == "--nohg" ] || hg pull -u
pankso@106 59 rm -rf $WWW/pro/*
pankso@106 60 cp -a pro/* $WWW/pro
pankso@106 61 echo "" ;;
pankso@112 62 up-boot)
pankso@54 63 # Update Web Boot interface: http://boot.slitaz.org/
pankso@54 64 echo -e "\nUpdating: boot.slitaz.org..."
pankso@54 65 cd $REPOS/slitaz-forge
pankso@186 66 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 67 rm -rf $WWW/boot/*
pankso@54 68 cp -a boot/* $WWW/boot
pankso@54 69 echo "" ;;
pankso@112 70 up-cook)
pankso@112 71 # Update Web Boot interface: http://boot.slitaz.org/
pankso@112 72 echo -e "\nUpdating: cook.slitaz.org..."
pankso@112 73 cd $REPOS/slitaz-forge
pankso@186 74 [ "$2" == "--nohg" ] || hg pull -u
pankso@112 75 cp -a cook/* $WWW/cook
pankso@112 76 cp -a cook/* $WWW/cook/undigest
pankso@112 77 echo "" ;;
pankso@112 78 up-stats)
pankso@189 79 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE
pankso@189 80 date >> $LOGFILE
pankso@187 81 for vh in pro boot cook people tank
pankso@54 82 do
pankso@188 83 /var/www/cgi-bin/awstats.pl \
pankso@188 84 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE
pankso@189 85 done && echo "" ;;
pankso@112 86 adduser)
paul@73 87 # On Tank /etc/skel is empty to let tank handle default user
pankso@54 88 # files.
pankso@54 89 echo ""
pankso@54 90 if [ -n "$2" ]; then
pankso@54 91 user=$2
pankso@54 92 else
pankso@54 93 echo -n "User name: " && read user
pankso@54 94 fi
pankso@54 95 if [ -d /home/$user ]; then
pankso@54 96 echo -e "User $user already exists...\n" && exit 1
pankso@54 97 fi
pankso@54 98 echo "Adding user: $user"
paul@73 99 # adduser -s /bin/sh -g "SliTaz User" -G users -h /home/$user $user # for cooking
pankso@54 100 adduser $user
pankso@54 101 # HG access
pankso@54 102 echo -n "Hg password: " && read passwd
pankso@54 103 echo "$user:$passwd" >> /etc/lighttpd/plain.passwd
pankso@54 104 # Public dir at http://people.slitaz.org/~$user/
pankso@75 105 cp -a /usr/share/tank/Public/* /home/$user/Public
pankso@59 106 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html
pankso@54 107 # README and empty Shell profile
pankso@54 108 cp -a /usr/share/tank/README /home/$user/
pankso@54 109 cat > /home/$user/.profile << EOF
pankso@54 110 # ~/.profile: Executed by Bourne-compatible login SHells.
pankso@54 111 #
pankso@54 112 EOF
pankso@54 113 chown -R $user.$user /home/$user
pankso@54 114 echo -e "Done\n" ;;
pankso@54 115 *)
pankso@54 116 usage ;;
pankso@54 117 esac
pankso@54 118 exit 0