slitaz-forge annotate tank/taztank @ rev 44

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