home *** CD-ROM | disk | FTP | other *** search
/ ftp.ac-grenoble.fr / 2015.02.ftp.ac-grenoble.fr.tar / ftp.ac-grenoble.fr / pub / slis / updates_rsync / slis_update-common-post < prev    next >
Text File  |  2012-10-28  |  9KB  |  253 lines

  1. #!/bin/bash
  2.  
  3. # slis_update-common-post
  4. # Common updates, started after version updates
  5.  
  6.  
  7. ### VARIABLES ###
  8. UPDDIR=/home/hadmin/updates
  9. LOGTAG="slis_update[$$]"
  10. grep HOSTNAME /etc/sysconfig/network > /tmp/hostname
  11. . /tmp/hostname
  12. rm -rf /tmp/hostname
  13. WEBMASTER=`ls -ld /home/httpd/html |awk '{print $3}'`
  14. . /home/hadmin/slis.conf 2>/dev/null
  15. . /usr/local/lib/slis-sys.inc.bash 2>/dev/null
  16. load_config 2>/dev/null
  17.  
  18. ##################
  19.  
  20. # Locking
  21. if [ -e /var/lock/slis_upd ]
  22. then
  23.   logger -t "$LOGTAG" "Lock found. Update already started."
  24.   exit
  25. fi
  26. touch /var/lock/slis_upd
  27. sleep 1
  28.  
  29. logger -t "$LOGTAG" "Script Common-Post started."
  30. ##############################
  31.  
  32.  
  33. ############################################################################
  34. ### Update C-16 - 01/10/2001
  35. # New update script with a better locking and "freeze" checking
  36. # Obsoletes :
  37. ############################################################################
  38.  
  39. if [ ! \( -e $UPDDIR/C-16 \) ]
  40. then
  41.   # Telechargement du tar
  42.   cd /tmp
  43.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/upd-C-16.tgz .
  44.   cd /
  45.   tar zxf /tmp/upd-C-16.tgz
  46.   RC1=$?
  47.   /usr/local/sbin/permslis
  48.  
  49.   # Cron modification
  50.   R=$RANDOM
  51.   crontab -l > /tmp/cron.$R
  52.   COUNT=`wc -l /tmp/cron.$R|awk '{print $1}'`
  53.   tail -`expr $COUNT - 3` /tmp/cron.$R|sed "s;slis_update\.cron;slis_update;" > /tmp/cron.new.$R
  54.   rm -f /tmp/cron.$R
  55.   if [ "`wc -l /tmp/cron.new.$R|awk '{print $1}'`" = "`expr $COUNT - 3`" ]
  56.   then
  57.     crontab /tmp/cron.new.$R
  58.     RC2=$?
  59.     rm -f /tmp/cron.new.$R
  60.   fi
  61.  
  62.   # Verification et fin de la MAJ
  63.   if [ $RC1 = 0 -a $RC2 = 0 ]
  64.   then
  65.     touch $UPDDIR/C-16
  66.     mv /usr/local/sbin/slis_update.cron /usr/local/sbin/slis_update.cron.obsolete
  67.     logger -t "$LOGTAG" "Update C-16 done."
  68.   else
  69.     logger -t "$LOGTAG" "Update C-16 FAILED."
  70.   fi
  71. fi
  72. ###
  73.  
  74. ############################################################################
  75. ### Update C-16b - 03/10/2001
  76. # Fixes a little bug of C16 (obsolete use of slis_update.cron in rc.local)
  77. # Obsoletes :
  78. ############################################################################
  79.  
  80. if [ ! \( -e $UPDDIR/C-16b \) ]
  81. then
  82.  
  83.   R=$RANDOM
  84.   sed "s;slis_update\.cron;slis_update;" /etc/rc.d/rc.local > /tmp/rc.local.$R
  85.   cp -f /etc/rc.d/rc.local /etc/rc.d/rc.local.C-16b
  86.   mv -f /tmp/rc.local.$R /etc/rc.d/rc.local
  87.   chmod 755 /etc/rc.d/rc.local
  88.  
  89.   touch $UPDDIR/C-16b
  90.   logger -t "$LOGTAG" "Update C-16b done."
  91. fi
  92. ###
  93.  
  94. ############################################################################
  95. ### Update CP-1
  96. # Activates Magic Quotes into /etc/php.ini
  97. # Obsoletes :
  98. ############################################################################
  99.  
  100. if [ ! \( -e $UPDDIR/CP-1 \) ]
  101. then
  102.  
  103.   cp -f /etc/php.ini /etc/php.ini.upd-CP-1
  104.   sed "s/magic_quotes_gpc.*=.*Off/magic_quotes_gpc = On/" /etc/php.ini.upd-CP-1 > /etc/php.ini 
  105.   chown nobody.nobody /etc/php.ini
  106.   killall -HUP httpd
  107.  
  108.   touch $UPDDIR/CP-1
  109.   logger -t "$LOGTAG" "Update CP-1 done."
  110. fi
  111. ###
  112.  
  113. ############################################################################
  114. ### Update CP-2
  115. # Remove masquerade script from rc.local (it erases rules created into
  116. # post-mkfilter-script)
  117. # Obsoletes : YES (Slis core update 3.2-19 do the correct job)
  118. ############################################################################
  119. #if [ ! \( -e $UPDDIR/CP-2 \) ]
  120. #then
  121. #
  122. #  perl -pi -e "s;/usr/local/sbin/masquerade;;" /etc/rc.d/rc.local
  123. #
  124. #  touch $UPDDIR/CP-2
  125. #  logger -t "$LOGTAG" "Update CP-2 done."
  126. #fi
  127. ###
  128.  
  129.  
  130.  
  131.  
  132. ############################################################################
  133. ### Update BASES SQUIDGUARD - Every day
  134. # ATTENTION: Let this update always at the very end of the update script.
  135. # Please, mirror:
  136. # ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib
  137. # into your rsync module and maintain academie.tar.gz
  138. ############################################################################
  139.  
  140. if [ -e /usr/local/squid/squidGuard/db ]
  141. then
  142.   logger -t "$LOGTAG" "UPDATE URL BLACKLISTS: start"
  143.   
  144.   # Test if we have enough memory and cpu to make the .db files
  145.   declare -i MEM=`free -m|grep "Mem:"|awk '{print $2}'`
  146.   declare -i BOGOMIPS=`grep bogomips /proc/cpuinfo |awk '{print $3}'|cut -d. -f1|head -1`
  147.   if [ $MEM -lt 127 -o $BOGOMIPS -lt 1500 ]
  148.   then
  149.     LOWRESSOURCES=1
  150.     logger -t "$LOGTAG" "Low ressources detected, will use the precompiled version of the adult blacklist..."
  151.   else
  152.     LOWRESSOURCES=0
  153.   fi
  154.  
  155.   # Check the version of the files to download
  156.   VER=`cat /etc/version_slis_num`
  157.   if [ "$VER" != "3.1" -a "$VER" != "3.2" ]
  158.   then
  159.     VER=2.x_3.0
  160.   else
  161.     VER=3.1
  162.   fi
  163.  
  164.   # Download the bases
  165.   cd /usr/local/squid/squidGuard/db
  166.   if [ "$LOWRESSOURCES" = "1" ]
  167.   then
  168.     rm -f adult.tar.gz
  169.     rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/adult-precompiled-$VER.tar.bz2 .
  170.   else
  171.     rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/adult.tar.gz .
  172.   fi
  173.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/warez.tar.gz .
  174.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/forums.tar.gz .
  175.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/publicite.tar.gz .
  176.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/publicite.tar.gz .
  177.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/academie.tar.gz .
  178.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/tricheur.tar.gz .
  179.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/agressif.tar.gz .
  180.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/drogue.tar.gz .
  181.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/redirector.tar.gz .
  182.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/strict_redirector.tar.gz .
  183.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/radio.tar.gz .
  184.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/mobile-phone.tar.gz .
  185.   rsync rsync://$RSYNC_HOST/$RSYNC_MODULE/webmail.tar.gz .
  186.   logger -t "$LOGTAG" "Blacklists installation. PLEASE WAIT..."
  187.  
  188.   # Extract the bases
  189.   if [ "$LOWRESSOURCES" = "1" ]
  190.   then
  191.     rm -f adult/domains
  192.     rm -f adult/urls
  193.     tar jxf adult-precompiled-$VER.tar.bz2
  194.   else
  195.     tar zxf adult.tar.gz
  196.   fi
  197.   tar zxf warez.tar.gz
  198.   tar zxf forums.tar.gz
  199.   tar zxf publicite.tar.gz
  200.   tar zxf academie.tar.gz
  201.   tar zxf tricheur.tar.gz
  202.   tar zxf agressif.tar.gz
  203.   tar zxf drogue.tar.gz
  204.   tar zxf redirector.tar.gz
  205.   tar zxf strict_redirector.tar.gz
  206.   tar zxf radio.tar.gz
  207.   tar zxf mobile-phone.tar.gz
  208.   tar zxf webmail.tar.gz
  209.   /usr/local/sbin/permslis
  210.  
  211.   # Make the .db files
  212.   if [ "$LOWRESSOURCES" = "0" ]
  213.   then
  214.     /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/adult/domains
  215.     /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/adult/urls
  216.   fi
  217.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/warez/domains
  218.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/warez/urls
  219.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/forums/domains
  220.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/forums/urls
  221.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/publicite/domains
  222.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/publicite/urls
  223.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/academie/domains
  224.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/academie/urls
  225.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/agressif/domains
  226.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/agressif/urls
  227.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/drogue/domains
  228.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/drogue/urls
  229.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/tricheur/domains
  230.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/tricheur/urls
  231.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/redirector/domains
  232.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/redirector/urls
  233.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/strict_redirector/domains
  234.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/strict_redirector/urls
  235.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/radio/domains
  236.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/mobile-phone/domains
  237.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/mobile-phone/urls
  238.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/webmail/domains
  239.   /usr/local/squid/bin/squidGuard -C /usr/local/squid/squidGuard/db/webmail/urls
  240.   /usr/local/sbin/permslis
  241.   logger -t "$LOGTAG" "Restarting proxy."
  242.   killall -HUP squid
  243.   logger -t "$LOGTAG" "UPDATE URL BLACKLISTS: end"
  244. fi
  245. ###
  246.  
  247.  
  248. ##############################
  249. logger -t "$LOGTAG" "Script Common-Post ended."
  250.  
  251. /bin/rm -rf /var/lock/slis_upd
  252.  
  253.