home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 April / ME_2011_04.iso / Systemtuning / MainMenu_1.7.3.dmg / MainMenu.app / Contents / Resources / MainMenuCron < prev    next >
Encoding:
Text File  |  2008-03-18  |  6.0 KB  |  243 lines

  1. #!/bin/sh
  2.  
  3. daily()
  4. {
  5. PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  6. host=`hostname`
  7. bak=/var/backups
  8.  
  9. date;echo
  10. echo "Removing scratch and junk files..."
  11.  
  12. if [ -d /var/rwho ] ; then
  13.     cd /var/rwho && {
  14.     find . ! -name . -mtime +7 -exec rm -rf -- {} \; ; }
  15. fi
  16.  
  17. touch /var/msgs/bounds;
  18.  
  19. if [ -d /tmp ]; then
  20.     cd /tmp && {
  21.     find . -fstype local -type f -atime +3 -ctime +3 -exec rm -f -- {} \;
  22.     find -fstype local -d . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
  23.     >/dev/null 2>&1; }
  24. fi
  25.  
  26. if [ -d /var/tmp ]; then
  27.     cd /var/tmp && {
  28.     find . -fstype local ! -name . -atime +7 -ctime +3 -exec rm -f -- {} \;
  29.     find -fstype local -d . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
  30.     >/dev/null 2>&1; }
  31. fi
  32.  
  33. msgs -c
  34.  
  35. if [ -f /var/account/acct ] ; then
  36.     if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
  37.     echo ""
  38.     echo "Gathering accounting statistics:"
  39.     cd /var/account
  40.     if [ -f "acct.2${gzext}" ] ; then mv -f "acct.2${gzext}" "acct.3${gzext}" ; fi
  41.     if [ -f "acct.1${gzext}" ] ; then mv -f "acct.1${gzext}" "acct.2${gzext}" ; fi
  42.     if [ -f "acct.0${gzext}" ] ; then mv -f "acct.0${gzext}" "acct.1${gzext}" ; fi
  43.     cp -pf acct acct.0
  44.     if [ -x /usr/bin/gzip ]; then gzip -9 acct.0; fi
  45.     sa -s > /dev/null
  46. fi
  47.  
  48. if [ -d /var/db/netinfo ]; then
  49.     echo ""
  50.     echo "Backing up NetInfo data..."
  51.     cd /var/db/netinfo
  52.     for domain in *.nidb; do
  53.     domain=$(basename $domain .nidb)
  54.     nidump -r / -t localhost/$domain > $bak/$domain.nidump;
  55.     done
  56. fi
  57.  
  58. echo ""
  59. echo "Checking subsystem status..."
  60.  
  61. echo ""
  62. #echo "Disks:"
  63. #df -k -l
  64. #do we really need to display disks?
  65. #echo ""
  66. #dump W
  67.  
  68. #if [ -d /var/spool/mqueue ]; then
  69. #    echo ""
  70.     #echo "mail:"
  71.     #mailq
  72. #fi
  73.  
  74. #echo ""
  75. #echo "network:"
  76. #netstat -i
  77.  
  78. #echo ""
  79. if [ -d /var/rwho ] ; then
  80.     ruptime
  81. fi
  82.  
  83. echo ""
  84. echo "Rotating log files..."
  85. echo ""
  86. cd /var/log
  87. for i in system.log; do
  88.     if [ -f "${i}" ]; then
  89.     echo -" ${i}"
  90.     if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
  91.     if [ -f "${i}.6${gzext}" ]; then mv -f "${i}.6${gzext}" "${i}.7${gzext}"; fi
  92.     if [ -f "${i}.5${gzext}" ]; then mv -f "${i}.5${gzext}" "${i}.6${gzext}"; fi
  93.     if [ -f "${i}.4${gzext}" ]; then mv -f "${i}.4${gzext}" "${i}.5${gzext}"; fi
  94.     if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
  95.     if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
  96.     if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
  97.     if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
  98.     if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
  99.     touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
  100.     fi
  101. done
  102. if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
  103. echo ""
  104.  
  105. if [ -d /var/log/httpd ]; then
  106.     echo ""
  107.     echo "Cleaning web server log files..."
  108. echo
  109.     cd /var/log/httpd && \
  110.     find . -type f -name '*_log.*' -mtime +7 -exec rm -f -- {} \; >/dev/null 2>&1;
  111. fi
  112.  
  113. if [ -f /etc/daily.local ]; then
  114.     echo ""
  115.     echo "Running daily.local..."
  116.     sh /etc/daily.local
  117. fi
  118.  
  119. if [ -f /etc/security ]; then
  120.     echo ""
  121.     echo "Running security..."
  122.     sh /etc/security 2>&1 | sendmail root
  123. fi
  124. }
  125.  
  126. monthly()
  127. {
  128. PATH=/bin:/usr/bin:/sbin:/usr/sbin
  129. host=`hostname -s`
  130.  
  131. date
  132. echo 
  133. echo "Doing login accounting:"
  134. if type sort>/dev/null; then 
  135.     ac -p | sort -nr +1
  136. else
  137.     ac -p
  138. fi
  139.  
  140. echo ""
  141. echo -n "Rotating log files:"
  142. cd /var/log
  143. for i in wtmp; do
  144.     if [ -f "${i}" ]; then
  145.     echo -n " $i"
  146.     if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
  147.     if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
  148.     if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
  149.     if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
  150.     if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
  151.     if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
  152.     touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
  153.     fi
  154. done
  155. if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
  156. echo ""
  157.  
  158. if [ -f /etc/monthly.local ]; then
  159.     echo ""
  160.     echo "Running monthly.local:"
  161.     sh /etc/monthly.local
  162. fi
  163.  
  164. /bin/chmod +r /var/log/wtmp
  165. }
  166.  
  167. weekly()
  168. {
  169. PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec
  170. export PATH
  171.  
  172. host=`hostname -s`
  173.  
  174. if [ -x /usr/libexec/locate.updatedb ]; then
  175. date
  176.     echo ""
  177.     echo "Rebuilding locate database..."
  178.     locdb=/var/db/locate.database
  179.     touch "${locdb}"; chown nobody "${locdb}"; chmod 644 "${locdb}"
  180.     echo /usr/libexec/locate.updatedb | nice -5 su -fm nobody 2>&1 | sed -e '/Permission denied/d'
  181.     chmod 444 "${locdb}"
  182. fi
  183.  
  184. if [ -x /usr/libexec/makewhatis.local ]; then
  185.     echo ""
  186.     echo "Rebuilding whatis database..."
  187.     if [ -d /usr/X11R6/man ]; then
  188.     MANPATH=${MANPATH:-/usr/share/man:/usr/X11R6/man:/usr/local/man}
  189.     else
  190.     MANPATH=${MANPATH:-/usr/share/man:/usr/local/man}
  191.     fi
  192.  
  193.     makewhatis.local "${MANPATH}"
  194. fi
  195.  
  196. echo ""
  197. echo -n "Rotating log files:"
  198. cd /var/log
  199. for i in ftp.log lookupd.log lpr.log mail.log netinfo.log hwmond.log; do
  200.     if [ -f "${i}" ]; then
  201.     echo -n " $i"
  202.     if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
  203.     if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
  204.     if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
  205.     if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
  206.     if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
  207.     if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
  208.     touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
  209.     fi
  210. done
  211. if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
  212. echo ""
  213.  
  214. if [ -f /etc/weekly.local ]; then
  215.     echo ""
  216.     echo "Running weekly.local:"
  217.     sh /etc/weekly.local
  218. fi
  219. }
  220.  
  221. if [ $1 = "-daily" ]
  222.     then
  223.     daily
  224. fi
  225.  
  226. if [ $1 = "-monthly" ]
  227.     then
  228.     monthly
  229. fi
  230.  
  231. if [ $1 = "-weekly" ]
  232.     then
  233.     weekly
  234. fi
  235.  
  236. if [ $1 = "-all" ]
  237.     then
  238.     daily;echo;weekly;echo;monthly
  239. fi
  240.  
  241. sleep 1
  242. date
  243.