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 |