Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > b611ea73723a8287cce23d3124a6eeea > files > 171

howto-sgml-ko-2006-5mdv2010.0.noarch.rpm

#!/bin/bash
# cleanup, version 2
# ·çÆ®·Î ½ÇÇà½ÃÅ°¼¼¿ä.

LOG_DIR=/var/log
ROOT_UID=0     # $UID°¡ 0ÀÎ À¯Àú¸¸ÀÌ ·çÆ® ±ÇÇÑÀ» °®½À´Ï´Ù.
LINES=50       # ±âº»ÀûÀ¸·Î ÀúÀåÇÒ ÁÙ ¼ö.
E_XCD=66       # µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø´Ù?
E_NOTROOT=67   # ·çÆ®°¡ ¾Æ´Ò °æ¿ìÀÇ Á¾·á ¿¡·¯.


if [ "$UID" -ne "$ROOT_UID" ]
then
  echo "ÀÌ ½ºÅ©¸³Æ®´Â ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß µË´Ï´Ù."
  exit $E_NOTROOT
fi  

if [ -n "$1" ]
# ¸í·É¾îÁÙ ÀÎÀÚ°¡ Á¸ÀçÇÏ´ÂÁö Å×½ºÆ®(non-empty).
then
  lines=$1
else  
  lines=$LINES # ¸í·É¾îÁÙ¿¡¼­ ÁÖ¾îÁöÁö ¾Ê¾Ò´Ù¸é µðÆúÆ®°ªÀ» ¾¸.
fi  


#  Stephane Chazelas °¡ ¸í·É¾îÁÙ ÀÎÀÚ¸¦ È®ÀÎÇÏ´Â ´õ ÁÁÀº ¹æ¹ýÀ»
#+ Á¦¾ÈÇØ ÁÖ¾ú´Âµ¥ Áö±Ý ´Ü°è¿¡¼­´Â ¾à°£ ¾î·Á¿î ÁÖÁ«´Ï´Ù.
#
#    E_WRONGARGS=65  # ¼ýÀÚ°¡ ¾Æ´Ñ ÀÎÀÚ.(Ʋ¸° ÀÎÀÚ Æ÷¸Ë)
#
#    case "$1" in
#    ""      ) lines=50;;
#    *[!0-9]*) echo "»ç¿ë¹ý: `basename $0` Á¤¸®ÇÒÆÄÀÏ"; exit $E_WRONGARGS;;
#    *       ) lines=$1;;
#    esac
#
#* ÀÌ°ÍÀ» ÀÌÇØÇÏ·Á¸é "·çÇÁ" ÀýÀ» Âü°íÇϼ¼¿ä.


cd $LOG_DIR

if [ `pwd` != "$LOG_DIR" ]  # ȤÀº    if [ "$PWD" != "LOG_DIR" ]
                            # /var/log ¿¡ ÀÖÁö ¾Ê´Ù?
then
  echo "$LOG_DIR ·Î ¿Å°Ü°¥ ¼ö ¾ø½À´Ï´Ù."
  exit $E_XCD
fi  # ·Î±×ÆÄÀÏÀÌ µÚÁ×¹ÚÁ׵DZâ Àü¿¡ ¿Ã¹Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´ÂÁö µÎ¹ø È®ÀÎÇÔ.

# ´õ ÁÁÀº ¹æ¹ýÀº:
# ---
# cd /var/log || {
#   echo "ÇÊ¿äÇÑ µð·ºÅ丮·Î ¿Å°Ü°¥ ¼ö ¾ø½À´Ï´Ù." >&2
#   exit $E_XCD;
# }




tail -$lines messages > mesg.temp # message ·Î±× ÆÄÀÏÀÇ ¸¶Áö¸· ºÎºÐÀ» ÀúÀå.
mv mesg.temp messages             # »õ ·Î±× ÆÄÀÏÀÌ µÊ.


# cat /dev/null > messages
#* À§ÀÇ ¹æ¹ýÀÌ ´õ ¾ÈÀüÇϴϱî ÇÊ¿ä ¾øÀ½.

cat /dev/null > wtmp  # > wtemp   ¶ó°í Çصµ °°Àº °á°ú.
echo "·Î±×°¡ Á¤¸®µÆ½À´Ï´Ù."

exit 0
#  ½ºÅ©¸³Æ® Á¾·á½Ã¿¡ 0À» ¸®ÅÏÇϸé
#+ ½©¿¡°Ô ¼º°øÇß´Ù°í ¾Ë·ÁÁÜ.