home *** CD-ROM | disk | FTP | other *** search
/ ftp.sberbank.sumy.ua / 2014.11.ftp.sberbank.sumy.ua.tar / ftp.sberbank.sumy.ua / incoming / sxtech / etc / rc.shutdown < prev    next >
Text File  |  2014-08-29  |  4KB  |  158 lines

  1. #!/bin/sh
  2. #
  3. # $Revision: #5 $
  4. #
  5. # Copyright (c) 1997  Ollivier Robert
  6. # All rights reserved.
  7. #
  8. # Redistribution and use in source and binary forms, with or without
  9. # modification, are permitted provided that the following conditions
  10. # are met:
  11. # 1. Redistributions of source code must retain the above copyright
  12. #    notice, this list of conditions and the following disclaimer.
  13. # 2. Redistributions in binary form must reproduce the above copyright
  14. #    notice, this list of conditions and the following disclaimer in the
  15. #    documentation and/or other materials provided with the distribution.
  16. #
  17. # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  18. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  19. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  20. # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  21. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  23. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  24. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  25. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  26. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  27. # SUCH DAMAGE.
  28. #
  29. # $FreeBSD: src/etc/rc.shutdown,v 1.4.2.13 2001/12/19 14:40:28 roam Exp $
  30. #
  31.  
  32. # Site-specific closing actions for daemons run by init on shutdown,
  33. # or before going single-user from multi-user.
  34. # Output and errors are directed to console by init, and the
  35. # console is the controlling terminal.
  36.  
  37. stty status '^T'
  38.  
  39. # Set shell to ignore SIGINT (2), but not children;
  40. # shell catches SIGQUIT (3) and returns to single user after fsck.
  41. trap : 2
  42. trap : 3    # shouldn't be needed
  43.  
  44. HOME=/
  45. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
  46. export HOME PATH
  47.  
  48. # Before we try to do anything else which might touch the disk and
  49. # thus hang the system with a filesystem problem, potentially with
  50. # interfaces still up, run lbd -Q to kill all our service aliases.
  51. #
  52. /usr/local/equalizer/libexec/lbd -Q
  53.  
  54. # WAS "Mute the console and don't output the result."
  55. # We DONT want to do this! See bug 2909
  56. sysctl kern.consmute=0 >/dev/null
  57.  
  58. # If there is a global system configuration file, suck it in.
  59. if [ -r /etc/defaults/rc.conf ]; then
  60.         . /etc/defaults/rc.conf      
  61.         source_rc_confs
  62. elif [ -r /etc/rc.conf ]; then
  63.         . /etc/rc.conf
  64. fi
  65.  
  66. # disable all onboard network interfaces per bug 3509
  67. #
  68. echo 'Disabling network interfaces:'
  69.  
  70. for if in ${network_interfaces}; do
  71.         if [ "lo0" != "${if}" ]; then
  72.                 echo 'shutdown' $if
  73.                 ifconfig $if down
  74.         fi
  75. done
  76.  
  77. echo -n 'Shutting down daemon processes:'
  78.  
  79. # for each valid dir in $local_startup, search for init scripts matching *.sh
  80. case ${local_startup} in
  81. [Nn][Oo] | '')
  82.     ;;
  83. *)
  84.     slist=""
  85.     if [ -z "${script_name_sep}" ]; then
  86.         script_name_sep=" "
  87.     fi
  88.     for dir in ${local_startup}; do
  89.         if [ -d "${dir}" ]; then
  90.             for script in ${dir}/*.sh; do
  91.                 slist="${script}${script_name_sep}${slist}"
  92.             done
  93.         fi
  94.     done
  95.     script_save_sep="$IFS"
  96.     IFS="${script_name_sep}"
  97.     for script in ${slist}; do
  98.         if [ -x "${script}" ]; then
  99.             (set -T
  100.             trap 'exit 1' 2
  101.             ${script} stop)
  102.         fi
  103.     done
  104.     IFS="${script_save_sep}"
  105.     echo '.'
  106.     ;;
  107. esac
  108.  
  109. # Insert other shutdown procedures here
  110.  
  111. #
  112. # Cleanup some stuff we don't care to preserve.
  113. #
  114.  
  115. rm -f /var/db/dhclient.leases
  116. rm -f /var/eq/log/gooey*
  117.  
  118. #
  119. # Preserve stuff back to persistent storage.
  120. #
  121.  
  122. touch /var/tmp/.noshadow
  123. touch /var/crash/.noshadow
  124. touch /var/run/.noshadow
  125.  
  126. /usr/local/sbin/shadow -d /var/eq/responder
  127. #
  128. # This is of questionable utility, since almost everything beneath /var
  129. # actually has a .noshadow file inserted at boot time or build time.
  130. /usr/local/sbin/shadow /var
  131. #
  132. # We shadow /var/log file-by-file: we do not want everything that might
  133. # be here (specifically, we _really_ don't want certain things, like
  134. # gzipped old log files, or huge log files that might have filled the
  135. # filesystem).
  136. /usr/bin/find /var/log \
  137.     -type f -a \
  138.     \! -name .\* -a \! -name \*.gz -a \
  139.     -size -100000c \
  140.     -print | \
  141.     /usr/bin/xargs /usr/local/sbin/shadow
  142.  
  143. #
  144. # Unmount the memory filesystems, so that the mfs processes will go away.
  145. #
  146.  
  147. umount -f /var/crash
  148. umount -f /var/tmp
  149. umount -f /var
  150.  
  151. # Do not unmount /dev as it seems to cause shutdown hangs
  152.  
  153. #umount -f /dev
  154.  
  155. exit 0
  156.  
  157.