slitaz-forge annotate tank/taztank @ rev 41

tank: update taztank to use slitaz-forge repo
author Christophe Lincoln <pankso@slitaz.org>
date Mon Mar 28 15:18:40 2011 +0200 (2011-03-28)
parents 24c246a96526
children 4a50c3b5987f
rev   line source
slaxemulator@11 1 #!/bin/sh
slaxemulator@11 2 # Taztank - Admin Tank, backup, update and give stats.
slaxemulator@11 3 # (C) 2011 SliTaz - GNU General Public License.
slaxemulator@11 4 # Author: Christophe Lincoln <pankso@slitaz.org>
slaxemulator@11 5 #
slaxemulator@11 6
slaxemulator@11 7 REPOS="/home/slitaz/repos"
slaxemulator@11 8 WWW="/home/slitaz/www"
slaxemulator@11 9 VHOST="$WWW/tank"
slaxemulator@11 10 BACKUPS="/home/backups"
slaxemulator@11 11
slaxemulator@11 12 usage() {
slaxemulator@11 13 echo -e "\nUsage: `basename $0` [command]
slaxemulator@11 14 Commands:
slaxemulator@11 15 stats Display some Tank stats
slaxemulator@11 16 backup Backup files and MySQL DB
paul@35 17 chroot Move a user into a new chroot location
slaxemulator@11 18 up-web Update http://tank.slitaz.org/
slaxemulator@11 19 up-people Update http://people.slitaz.org/
pankso@41 20 up-boot Update http://boot.slitaz.org/
slaxemulator@11 21 up-web-stats Update Awstats statistics (run by cron)
paul@35 22 clean-labs Clean Redmine Labs (no longer on Tank)\n"
slaxemulator@11 23 }
slaxemulator@11 24
slaxemulator@11 25 case "$1" in
slaxemulator@11 26 stats)
slaxemulator@11 27 # Report some stats
slaxemulator@11 28 clear
slaxemulator@11 29 cat << EOF
slaxemulator@11 30
slaxemulator@11 31 Connected user
slaxemulator@11 32 --------------
slaxemulator@11 33 `who`
slaxemulator@11 34
slaxemulator@11 35 System usage
slaxemulator@11 36 ------------
slaxemulator@11 37 `df -h`
slaxemulator@11 38
slaxemulator@11 39 `free`
slaxemulator@11 40
slaxemulator@11 41 EOF
slaxemulator@11 42 ;;
slaxemulator@11 43 chroot)
slaxemulator@11 44 if [ -s $2/bin/sh ] && grep -qs $3: /etc/password ; then
slaxemulator@11 45 grep -q ^chroot /etc/busybox.conf ||
slaxemulator@11 46 echo 'chroot = ssx root.root' >> /etc/busybox.conf
slaxemulator@11 47 [ -s /bin/chrootsh ] || cat > /bin/chrootsh << EOF
slaxemulator@11 48 #!/bin/sh
slaxemulator@11 49
slaxemulator@11 50 #case " \$@ " in
slaxemulator@11 51 #*rsync*) exec /bin/sh "\$@" ;;
slaxemulator@11 52 #esac
slaxemulator@11 53
slaxemulator@11 54 case "\$USER" in
slaxemulator@11 55 pankso) exec /bin/sh "\$@" ;;
slaxemulator@11 56 *) exec /usr/sbin/chroot $2 /bin/chrootsh "\$@" ;;
slaxemulator@11 57 esac
slaxemulator@11 58 EOF
slaxemulator@11 59 [ -s $2/bin/chrootsh ] || cat > $2/bin/chrootsh << EOF
slaxemulator@11 60 #!/bin/sh
slaxemulator@11 61
slaxemulator@11 62 export SHELL='/bin/sh'
slaxemulator@11 63 cd \$HOME
slaxemulator@11 64 . /etc/profile
slaxemulator@11 65 exec /bin/sh "\$@"
slaxemulator@11 66 EOF
slaxemulator@11 67 chmod +x /bin/chrootsh $2/bin/chrootsh
slaxemulator@11 68 base=$(awk -F: "/^$3:/ { print \$6 }" /etc/passwd)
slaxemulator@11 69 target=$base
slaxemulator@11 70 while [ -L $target ]; do
slaxemulator@11 71 target=$(readlink $target)
slaxemulator@11 72 done
slaxemulator@11 73 mv $target $2/$base
slaxemulator@11 74 [ -L $base ] && rm -f $base
slaxemulator@11 75 ln -s $2/$base $base
slaxemulator@11 76 if ! grep -q ^$3: $2/etc/passwd ; then
slaxemulator@11 77 grep ^$3: /etc/passwd >> $2/etc/passwd
slaxemulator@11 78 grep ^$3: /etc/shadow >> $2/etc/shadow fi
slaxemulator@11 79 fi
slaxemulator@11 80 else
slaxemulator@11 81 cat << EOF
slaxemulator@11 82 Usage: $0 $1 newchroot user
slaxemulator@11 83 Move a user in a new chroot location
slaxemulator@11 84 EOF
slaxemulator@11 85 fi
slaxemulator@11 86 ;;
slaxemulator@11 87 backup)
slaxemulator@11 88 # Backup config files and SQL db.
slaxemulator@11 89 echo "Not yet implemented..." ;;
slaxemulator@11 90 up-web)
slaxemulator@11 91 # Update Tank web interface: http://tank.slitaz.org/
slaxemulator@11 92 echo -e "\nUpdating: tank.slitaz.org..."
pankso@41 93 cd $REPOS/slitaz-forge
slaxemulator@11 94 hg update
pankso@41 95 rm -rf $VHOST/*.* $VHOST/pics/website $VHOST/images
pankso@41 96 cp -a tank/web/* $VHOST ;;
slaxemulator@11 97 up-people)
slaxemulator@11 98 # Update People web interface: http://people.slitaz.org/
slaxemulator@11 99 echo -e "\nUpdating: people.slitaz.org..."
slaxemulator@11 100 cd $REPOS/slitaz-forge
slaxemulator@11 101 hg update
slaxemulator@11 102 rm -rf $WWW/people/*
slaxemulator@11 103 cp -a people/* $WWW/people ;;
pankso@41 104 up-boot)
pankso@41 105 # Update Web Boot interface: http://boot.slitaz.org/
pankso@41 106 echo -e "\nUpdating: boot.slitaz.org..."
pankso@41 107 cd $REPOS/slitaz-forge
pankso@41 108 hg update
pankso@41 109 rm -rf $WWW/boot/*
pankso@41 110 cp -a boot/* $WWW/boot ;;
slaxemulator@11 111 up-web-stats)
paul@35 112 echo -e "\nUpdating all awstats databases...\n"
slaxemulator@11 113 for vh in www boot pkgs
slaxemulator@11 114 do
slaxemulator@11 115 /var/www/cgi-bin/awstats.pl -config=$vh.slitaz.org
slaxemulator@11 116 done ;;
slaxemulator@11 117 *)
slaxemulator@11 118 usage ;;
slaxemulator@11 119 esac
slaxemulator@11 120 exit 0