slitaz-forge annotate tank/tank @ rev 389
tank: start online users cmd (must add who)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Jan 07 17:41:55 2014 +0100 (2014-01-07) |
parents | b34ee9cca8a1 |
children | 209fa693a790 |
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@388 | 5 # (C) 2012-2014 SliTaz - GNU General Public License. |
pankso@54 | 6 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@54 | 7 # |
pankso@389 | 8 . /lib/libtaz.sh |
pankso@54 | 9 |
pankso@54 | 10 REPOS="/home/slitaz/repos" |
pankso@54 | 11 WWW="/home/slitaz/www" |
pankso@54 | 12 VHOST="$WWW/tank" |
pankso@54 | 13 WEBSITE="$WWW/website" |
pankso@54 | 14 BACKUPS="/home/backups" |
pankso@188 | 15 LOGFILE="/var/log/tank.log" |
pankso@54 | 16 |
pankso@54 | 17 usage() { |
pankso@186 | 18 cat << EOT |
pankso@186 | 19 |
pankso@186 | 20 Usage: $(basename $0) [command] |
pankso@54 | 21 Commands: |
pankso@112 | 22 backup|-b Backup files and MySQL DB |
pankso@112 | 23 adduser Add user on Tank and create people files |
pankso@112 | 24 up-stats Update Awstats statistics (run by cron) |
pankso@389 | 25 online Show online users |
pankso@297 | 26 |
pankso@112 | 27 up-tank Update http://tank.slitaz.org/ |
pankso@112 | 28 up-people Update http://people.slitaz.org/ |
pankso@112 | 29 up-pro Update http://pro.slitaz.org/ |
pankso@112 | 30 up-boot Update http://boot.slitaz.org/ |
pankso@112 | 31 up-cook Update http://cook.slitaz.org/ |
pankso@212 | 32 up-roadmap Update http://roadmap.slitaz.org/ |
pankso@388 | 33 up-bugs Update http://bugs.slitaz.org/ |
pankso@186 | 34 |
pankso@186 | 35 EOT |
pankso@54 | 36 } |
pankso@54 | 37 |
pankso@54 | 38 case "$1" in |
pankso@54 | 39 backup|-b) |
pankso@54 | 40 # Backup config files and SQL db. |
pankso@68 | 41 echo "TODO" ;; |
pankso@112 | 42 up-tank) |
pankso@212 | 43 # Update Tank web interface |
pankso@54 | 44 echo -e "\nUpdating: tank.slitaz.org..." |
pankso@54 | 45 cd $REPOS/slitaz-forge |
pankso@186 | 46 [ "$2" == "--nohg" ] || hg pull -u |
pankso@104 | 47 rm -rf $VHOST/*.* $VHOST/images |
pankso@297 | 48 cp -a tank/web/* $VHOST |
pankso@54 | 49 echo "" ;; |
pankso@112 | 50 up-people) |
pankso@212 | 51 # Update People web interface |
pankso@54 | 52 echo -e "\nUpdating: people.slitaz.org..." |
pankso@54 | 53 cd $REPOS/slitaz-forge |
pankso@186 | 54 [ "$2" == "--nohg" ] || hg pull -u |
pankso@54 | 55 rm -rf $WWW/people/* |
pankso@297 | 56 cp -a people/* $WWW/people |
pankso@54 | 57 echo "" ;; |
pankso@106 | 58 up-pro) |
pankso@212 | 59 # Update Pro website |
pankso@106 | 60 echo -e "\nUpdating: pro.slitaz.org..." |
pankso@106 | 61 cd $REPOS/slitaz-forge |
pankso@186 | 62 [ "$2" == "--nohg" ] || hg pull -u |
pankso@259 | 63 rm -rf $WWW/pro/web/* |
pankso@259 | 64 cp -a pro/* $WWW/pro/web |
pankso@106 | 65 echo "" ;; |
pankso@112 | 66 up-boot) |
pankso@212 | 67 # Update Web Boot interface |
pankso@54 | 68 echo -e "\nUpdating: boot.slitaz.org..." |
pankso@54 | 69 cd $REPOS/slitaz-forge |
pankso@186 | 70 [ "$2" == "--nohg" ] || hg pull -u |
pankso@54 | 71 rm -rf $WWW/boot/* |
pankso@297 | 72 cp -a boot/* $WWW/boot |
pankso@54 | 73 echo "" ;; |
pankso@112 | 74 up-cook) |
pankso@212 | 75 # Update Web Boot interface |
pankso@112 | 76 echo -e "\nUpdating: cook.slitaz.org..." |
pankso@297 | 77 cd $REPOS/cookutils |
pankso@297 | 78 [ "$2" == "--nohg" ] || hg pull -u |
pankso@298 | 79 cd $REPOS/slitaz-forge |
pankso@298 | 80 [ "$2" == "--nohg" ] || hg pull -u |
pankso@299 | 81 cp -a cook/* $WWW/cook |
pankso@297 | 82 # We use symlinks for cooker's |
pankso@297 | 83 cd $WWW/cook && rm -f style.css |
pankso@297 | 84 ln -s $REPOS/cookutils/web/style.css . |
pankso@300 | 85 cd $WWW/cook/cross && rm -f style.css |
pankso@300 | 86 ln -s $REPOS/cookutils/web/style.css . |
pascal@383 | 87 for web in stable undigest backports cross/arm cross/x86_64 |
pankso@297 | 88 do |
pankso@301 | 89 echo "Linking: $web CSS/CGI files" |
pankso@297 | 90 cd $WWW/cook/$web |
pankso@297 | 91 for file in style.css cooker.cgi cookiso.cgi |
pankso@297 | 92 do |
pankso@297 | 93 rm -f $file |
pankso@297 | 94 ln -s $REPOS/cookutils/web/$file . |
pankso@297 | 95 done |
pankso@301 | 96 # header.html |
pankso@301 | 97 echo "Linking: $web/header.html" |
pankso@301 | 98 rm -f header.html |
pankso@301 | 99 ln -s ../header.html . |
pankso@297 | 100 done |
pankso@301 | 101 |
pankso@297 | 102 # No ISO's for undigest and ARM. |
pankso@297 | 103 rm -f \ |
pankso@297 | 104 $WWW/cook/undigest/cookiso.cgi \ |
pankso@297 | 105 $WWW/cook/cross/arm/cookiso.cgi |
pankso@112 | 106 echo "" ;; |
pankso@212 | 107 up-roadmap) |
pankso@212 | 108 # Update Roadmap Web interface |
pankso@212 | 109 echo -e "\nUpdating: roadmap.slitaz.org..." |
pankso@212 | 110 cd $REPOS/slitaz-forge |
pankso@212 | 111 [ "$2" == "--nohg" ] || hg pull -u |
pankso@297 | 112 cp -a roadmap/* $WWW/roadmap |
pankso@212 | 113 echo "" ;; |
pankso@388 | 114 up-bugs) |
pankso@388 | 115 # Update Bugs Web interface |
pankso@388 | 116 bugs="$WWW/bugs" |
pankso@388 | 117 echo -e "\nUpdating: bugs.slitaz.org..." |
pankso@388 | 118 cd $REPOS/tazbug |
pankso@388 | 119 [ "$2" == "--nohg" ] || hg pull -u |
pankso@388 | 120 cp -a web/* ${bugs} |
pankso@388 | 121 cp README ${bugs} |
pankso@388 | 122 chown -R www.www ${bugs} |
pankso@388 | 123 echo "" ;; |
pankso@112 | 124 up-stats) |
pankso@189 | 125 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE |
pankso@189 | 126 date >> $LOGFILE |
pankso@187 | 127 for vh in pro boot cook people tank |
pankso@54 | 128 do |
pankso@188 | 129 /var/www/cgi-bin/awstats.pl \ |
pankso@188 | 130 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE |
pankso@189 | 131 done && echo "" ;; |
pankso@112 | 132 adduser) |
pankso@54 | 133 echo "" |
slaxemulator@279 | 134 if [ -d /home/$user ]; then |
slaxemulator@279 | 135 echo -e "User $user already exists...\n" && exit 1 |
slaxemulator@279 | 136 fi |
pankso@54 | 137 if [ -n "$2" ]; then |
pankso@54 | 138 user=$2 |
pankso@54 | 139 else |
pankso@54 | 140 echo -n "User name: " && read user |
pankso@54 | 141 fi |
pankso@239 | 142 if [ -n "$3" ]; then |
pankso@239 | 143 gecos="$3" |
pankso@239 | 144 else |
pankso@239 | 145 echo -n "Real name: " && read name |
pankso@239 | 146 fi |
pankso@254 | 147 if [ -n "$4" ]; then |
pankso@254 | 148 pass=$4 |
pankso@254 | 149 else |
pankso@254 | 150 echo -n "Password: " && read pass |
pankso@254 | 151 fi |
pankso@54 | 152 echo "Adding user: $user" |
pankso@254 | 153 adduser -D -g "$gecos" $user -G users |
pankso@254 | 154 echo $user:$pass | chpasswd --md5 |
pankso@246 | 155 addgroup $user slitaz |
pankso@54 | 156 # HG access |
pankso@254 | 157 #echo "$user:$pass" >> /etc/lighttpd/plain.passwd |
pankso@54 | 158 # Public dir at http://people.slitaz.org/~$user/ |
pankso@59 | 159 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html |
pankso@250 | 160 sed -i s/'%name%'/"$gecos"/ /home/$user/Public/profile.php |
pankso@239 | 161 # Empty Shell profile |
pankso@54 | 162 cat > /home/$user/.profile << EOF |
pankso@54 | 163 # ~/.profile: Executed by Bourne-compatible login SHells. |
pankso@54 | 164 # |
pankso@54 | 165 EOF |
pankso@247 | 166 #chown -R $user.$user /home/$user |
pankso@54 | 167 echo -e "Done\n" ;; |
pankso@389 | 168 online) |
pankso@389 | 169 echo -n "Bugs online users: " |
pankso@389 | 170 colorize 34 "$(ls /tmp/bugs/sessions | wc -l)" ;; |
pankso@54 | 171 *) |
pankso@54 | 172 usage ;; |
pankso@54 | 173 esac |
pankso@54 | 174 exit 0 |