slitaz-forge annotate tank/tank @ rev 702

Update mirrors list
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sun Oct 27 09:31:53 2019 +0200 (2019-10-27)
parents 95ed22875a04
children
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@639 5 # (C) 2012-2017 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@690 27 up-tank Update tank.slitaz.org
pankso@690 28 up-people Update people.slitaz.org
pankso@690 29 up-pro Update pro.slitaz.org
pankso@690 30 up-boot Update boot.slitaz.org
pankso@690 31 up-cook Update cook.slitaz.org
pankso@690 32 up-roadmap Update roadmap.slitaz.org
pankso@690 33 up-bugs Update bugs.slitaz.org
pankso@690 34 up-irc Update irc.slitaz.org
pankso@690 35 up-arm Update arm.slitaz.org
pankso@690 36 up-scn Update scn.slitaz.org
pankso@690 37 up-seb Update seb.slitaz.org
pankso@186 38
pankso@186 39 EOT
pankso@54 40 }
pankso@54 41
pankso@54 42 case "$1" in
pankso@54 43 backup|-b)
pankso@54 44 # Backup config files and SQL db.
pankso@68 45 echo "TODO" ;;
pankso@661 46
pankso@112 47 up-tank)
pankso@212 48 # Update Tank web interface
pankso@54 49 echo -e "\nUpdating: tank.slitaz.org..."
pankso@54 50 cd $REPOS/slitaz-forge
pascal@698 51 [ "$2" = "--nohg" ] || hg pull -u
pankso@104 52 rm -rf $VHOST/*.* $VHOST/images
pankso@297 53 cp -a tank/web/* $VHOST
pankso@654 54 # Be sure we have last version of libtaz.sh httphelper.sh
pankso@659 55 #echo "$(colorize 33 'Updating:') libtaz.sh && httphelper.sh"
pankso@659 56 #cd $REPOS/slitaz-base-files
pascal@698 57 #[ "$2" = "--nohg" ] || hg pull -u
pankso@659 58 #cp -f rootfs/lib/libtaz.sh /lib
pankso@659 59 #cp -f rootfs/usr/lib/slitaz/httphelper.sh /usr/lib/slitaz
pankso@54 60 echo "" ;;
pankso@661 61
pankso@112 62 up-people)
pankso@212 63 # Update People web interface
pankso@54 64 echo -e "\nUpdating: people.slitaz.org..."
pankso@54 65 cd $REPOS/slitaz-forge
pascal@698 66 [ "$2" = "--nohg" ] || hg pull -u
pankso@54 67 rm -rf $WWW/people/*
pankso@297 68 cp -a people/* $WWW/people
pankso@54 69 echo "" ;;
pankso@661 70
pankso@106 71 up-pro)
pankso@212 72 # Update Pro website
pankso@106 73 echo -e "\nUpdating: pro.slitaz.org..."
pankso@106 74 cd $REPOS/slitaz-forge
pascal@698 75 [ "$2" = "--nohg" ] || hg pull -u
pankso@259 76 rm -rf $WWW/pro/web/*
pankso@259 77 cp -a pro/* $WWW/pro/web
pankso@106 78 echo "" ;;
pankso@661 79
pankso@112 80 up-boot)
pankso@212 81 # Update Web Boot interface
pankso@54 82 echo -e "\nUpdating: boot.slitaz.org..."
pankso@54 83 cd $REPOS/slitaz-forge
pascal@698 84 [ "$2" = "--nohg" ] || hg pull -u
pankso@54 85 rm -rf $WWW/boot/*
pankso@297 86 cp -a boot/* $WWW/boot
pankso@54 87 echo "" ;;
pankso@661 88
pankso@112 89 up-cook)
pankso@212 90 # Update Web Boot interface
pankso@112 91 echo -e "\nUpdating: cook.slitaz.org..."
pankso@297 92 cd $REPOS/cookutils
pascal@698 93 [ "$2" = "--nohg" ] || hg pull -u
pankso@298 94 cd $REPOS/slitaz-forge
pascal@698 95 [ "$2" = "--nohg" ] || hg pull -u
pankso@299 96 cp -a cook/* $WWW/cook
pankso@297 97 # We use symlinks for cooker's
pankso@297 98 cd $WWW/cook && rm -f style.css
pankso@297 99 ln -s $REPOS/cookutils/web/style.css .
pankso@300 100 cd $WWW/cook/cross && rm -f style.css
pankso@300 101 ln -s $REPOS/cookutils/web/style.css .
pascal@383 102 for web in stable undigest backports cross/arm cross/x86_64
pankso@297 103 do
pankso@301 104 echo "Linking: $web CSS/CGI files"
pankso@297 105 cd $WWW/cook/$web
pankso@297 106 for file in style.css cooker.cgi cookiso.cgi
pankso@297 107 do
pankso@297 108 rm -f $file
pankso@297 109 ln -s $REPOS/cookutils/web/$file .
pankso@297 110 done
pankso@301 111 # header.html
pankso@301 112 echo "Linking: $web/header.html"
pankso@301 113 rm -f header.html
pankso@301 114 ln -s ../header.html .
pankso@297 115 done
pankso@301 116
pankso@297 117 # No ISO's for undigest and ARM.
pankso@297 118 rm -f \
pankso@297 119 $WWW/cook/undigest/cookiso.cgi \
pankso@297 120 $WWW/cook/cross/arm/cookiso.cgi
pankso@112 121 echo "" ;;
pankso@661 122
pankso@212 123 up-roadmap)
pankso@212 124 # Update Roadmap Web interface
pankso@212 125 echo -e "\nUpdating: roadmap.slitaz.org..."
pankso@212 126 cd $REPOS/slitaz-forge
pascal@698 127 [ "$2" = "--nohg" ] || hg pull -u
pankso@297 128 cp -a roadmap/* $WWW/roadmap
pankso@212 129 echo "" ;;
pankso@661 130
pankso@388 131 up-bugs)
pankso@388 132 # Update Bugs Web interface
pankso@388 133 bugs="$WWW/bugs"
pankso@388 134 echo -e "\nUpdating: bugs.slitaz.org..."
pankso@388 135 cd $REPOS/tazbug
pascal@698 136 [ "$2" = "--nohg" ] || hg pull -u
pankso@388 137 cp -a web/* ${bugs}
pankso@388 138 cp README ${bugs}
pankso@388 139 chown -R www.www ${bugs}
pankso@388 140 echo "" ;;
pankso@661 141
pankso@402 142 up-irc)
pankso@401 143 # Update IRC interface
pankso@401 144 echo -e "\nUpdating: irc.slitaz.org..."
pankso@401 145 cd $REPOS/slitaz-forge
pascal@698 146 [ "$2" = "--nohg" ] || hg pull -u
pankso@401 147 rm -rf $WWW/irc/images $WWW/irc/lib
pankso@401 148 cp -a irc/* $WWW/irc
pankso@401 149 echo "" ;;
pankso@661 150
pankso@467 151 up-arm)
pankso@467 152 # Update ARM Web interface
pankso@467 153 echo -e "\nUpdating: arm.slitaz.org..."
pankso@481 154 cd $REPOS/slitaz-forge && hg pull -u
pankso@467 155 cp -a arm/* $WWW/arm
pankso@479 156 echo "Updating: slitaz-arm Hg repo..."
pankso@481 157 cd $REPOS/slitaz-arm && hg pull -u
pankso@467 158 echo "" ;;
pankso@661 159
pankso@639 160 up-scn)
pankso@639 161 # Update scn.slitaz.org
pankso@639 162 echo -e "\nUpdating: scn.slitaz.org..."
pankso@639 163 cd $REPOS/slitaz-forge && hg pull -u
pankso@639 164 cp -f scn/style* $WWW/scn
pankso@639 165 cp -f scn/header.html $WWW/scn/lib
pankso@639 166 cp -a scn/plugins $WWW/scn
pankso@661 167 cp -a scn/images $WWW/scn
pankso@690 168
pankso@661 169 # SUP plugin hg.slitaz.org/sup
pankso@665 170 colorize 36 "Updating SUP plugin..."
pankso@661 171 cd $REPOS/sup && hg pull -u
pankso@661 172 cp -a server/sup $WWW/scn/plugins
pankso@690 173
pankso@639 174 # Use TinyCM cmdline tool
pankso@639 175 cd $REPOS/tinycm && hg pull -u
pankso@661 176 ./tinycm up $WWW/scn ;;
pankso@690 177
pankso@690 178 up-seb)
pankso@690 179 # Update seb.slitaz.org
pankso@690 180 echo -e "\nUpdating: seb.slitaz.org..."
pankso@690 181 cd $REPOS/slitaz-forge && hg pull -u
pankso@690 182
pankso@690 183 cp -f seb/*.css $WWW/seb
pankso@690 184 cp -f seb/header.html $WWW/seb/lib
pankso@690 185 cp -f seb/footer.html $WWW/seb/lib
pankso@690 186 #cp -a seb/plugins $WWW/seb
pankso@690 187 cp -a seb/images $WWW/seb
pankso@690 188
pankso@690 189 # Use TinyCM cmdline tool
pankso@690 190 cd $REPOS/tinycm && hg pull -u
pankso@690 191 ./tinycm up $WWW/seb ;;
pankso@661 192
pankso@112 193 up-stats)
pankso@189 194 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE
pankso@189 195 date >> $LOGFILE
pankso@187 196 for vh in pro boot cook people tank
pankso@54 197 do
pankso@188 198 /var/www/cgi-bin/awstats.pl \
pankso@188 199 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE
pankso@189 200 done && echo "" ;;
pankso@661 201
pankso@112 202 adduser)
pankso@54 203 echo ""
pankso@54 204 if [ -n "$2" ]; then
pankso@54 205 user=$2
pankso@54 206 else
pankso@54 207 echo -n "User name: " && read user
pankso@54 208 fi
pankso@567 209 if [ -d /home/$user ]; then
pankso@567 210 echo -e "User $user already exists...\n" && exit 1
pankso@567 211 fi
pankso@239 212 if [ -n "$3" ]; then
pankso@239 213 gecos="$3"
pankso@239 214 else
pankso@239 215 echo -n "Real name: " && read name
pankso@239 216 fi
pankso@254 217 if [ -n "$4" ]; then
pankso@254 218 pass=$4
pankso@254 219 else
pankso@254 220 echo -n "Password: " && read pass
pankso@254 221 fi
pankso@54 222 echo "Adding user: $user"
pankso@254 223 adduser -D -g "$gecos" $user -G users
pankso@254 224 echo $user:$pass | chpasswd --md5
pankso@246 225 addgroup $user slitaz
pankso@54 226 # HG access
pankso@254 227 #echo "$user:$pass" >> /etc/lighttpd/plain.passwd
pankso@54 228 # Public dir at http://people.slitaz.org/~$user/
pankso@59 229 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html
pankso@250 230 sed -i s/'%name%'/"$gecos"/ /home/$user/Public/profile.php
pankso@239 231 # Empty Shell profile
pankso@54 232 cat > /home/$user/.profile << EOF
pankso@54 233 # ~/.profile: Executed by Bourne-compatible login SHells.
pankso@54 234 #
pankso@54 235 EOF
pankso@247 236 #chown -R $user.$user /home/$user
pankso@54 237 echo -e "Done\n" ;;
pankso@661 238
pankso@389 239 online)
pankso@389 240 echo -n "Bugs online users: "
pankso@654 241 colorize 34 "$(ls /tmp/bugs/sessions | wc -l)"
pankso@654 242 echo -n "SCN online users: "
pankso@654 243 colorize 34 "$(ls /tmp/tinycm/sessions | wc -l)" ;;
pankso@661 244
pankso@54 245 *)
pankso@54 246 usage ;;
pankso@661 247
pankso@661 248 esac && exit 0