오랜만에 만들어본 shellscript (로그 백업용) 그거/Tech2008. 9. 22. 10:49
#!/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
'그거 > Tech' 카테고리의 다른 글
Today's IBM Developerworks Article 2008.10.29 (0) | 2008.10.29 |
---|---|
오랜만의 쉘스크립트 2탄(netstat 에서 포트별/상태별 개수 확인) (0) | 2008.09.30 |
Solaris 에서 ISO 이미지 mount 하는 법 (0) | 2008.09.09 |
Velocity 따라하기 - 1번 예제 - (0) | 2008.01.31 |
iBatis 따라하기 2 (중고차 정보) (0) | 2008.01.23 |