달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

#!/bin/sh
today=`date +'%Y-%m-%d`

echo ""
echo " Today is $today"
echo ""

# 로그파일에서 날짜를 추출하여, 각 날짜마다의 로그파일에 대해서 아래 내용을 수행한다.
# 01. tar cvf server.log_{yyyy-mm-dd}.tar server.log_{yyyy-mm-dd}T*
# 02. rm -f server.log_{yyyy-mm-dd}T*
# 03. compress server.log_{yyyy-mm-dd}.tar

for logfiledate in `ls -al server.log_*T* | awk '{print $9}' | cut -c 1-21 | uniq -c | awk '{print $2}'`
do
  # 오늘 날짜의 log는 백업하지 않는다. 어제 날짜까지의 로그파일을 백업하도록 한다.
  tdate=`echo $logfiledate | cut -c 12-22`
  if [ $today = $tdate ]; then
    exit;
  fi
  tarfile=$logfiledate".tar"
  logfile=$logfiledate"T*"

  echo "-----------------------------"
  echo "         $tdate"
  echo "-----------------------------"
  echo "01. Make tar file           : tar cvf $tarfile $logfile"
  tar cvf $tarfile $logfile 2> /dev/null

  echo "02. Delete log archive file : rm -f $logfile"
  rm -f $logfile

  echo "03. Compress tar file       : compress $tarfile"
  compress $tarfile

  echo ""
done

:
Posted by 뽀기