Tar의 file size 제한 및 스크립트 오류에 대한 질문
안녕하세요? 항상 KLDP에서 이것저것 검색만 하다
처음 글을 쓰게 됩니다.
제가 질문 할 내용은..
1. Tar로 파일을 묶을 시 파일크기의 제한이 있는지?
2. 있다면 파일크기는 얼마인지?(제가 해본바로는 2GB가 최고인거 같더군요...)
3. 아래는 저희 회사에서 운영중인 방화벽의 백업스크립트 입니다. 하루에 로그가 쌓이는 양이
약 15GB정도 되는데, 운영중인 방화벽 중 한 곳만 로그가 많아서 백업이 잘 안되더군요.
Tar로 묶고 gzip을 이용하여 압축 후 원격의 서버에 로그를 전송하고 있습니다.
스크립트가 정상적으로 실행되고 난 후 생성 된 파일을 압축 해제 해보면 약2GB의 파일만 압축되어있더라구요. 나머지 약 13GB의 파일은 압축이 안된거죠.
고수님들 스크립트에 문제가 있는 걸까요?
답변 부탁드립니다.
즐거운 하루 되세요.
======================================
#!/bin/sh
#DATE=`/bin/date --date '20 days ago'`
Year=`/bin/date --date '3 days ago'|cut -c27-30`
Month=`/bin/date --date '3 days ago'|cut -c5-7`
Day=`/bin/date --date '3 days ago'|cut -c9-10`
if [ $Month = Jan ]
then
Month=01
echo " $Month"
elif [ $Month = Feb ]
then
Month=02
echo " $Month"
elif [ $Month = Mar ]
then
Month=03
echo " $Month"
elif [ $Month = Apr ]
then
Month=04
echo " $Month"
elif [ $Month = May ]
then
Month=05
echo " $Month"
elif [ $Month = Jun ]
then
Month=06
echo " $Month"
elif [ $Month = Jul ]
then
Month=07
echo " $Month"
elif [ $Month = Aug ]
then
Month=08
echo " $Month"
elif [ $Month = Sep ]
then
Month=09
echo " $Month"
elif [ $Month = Oct ]
then
Month=10
echo " $Month"
elif [ $Month = Nov ]
then
Month=11
echo " $Month"
else
Month=12
echo " $Month"
fi
if [ $Day = 1 ]
then
Day=01
echo " $Day"
elif [ $Day = 2 ]
then
Day=02
echo " $Day"
elif [ $Day = 3 ]
then
Day=03
echo " $Day"
elif [ $Day = 4 ]
then
Day=04
echo " $Day"
elif [ $Day = 5 ]
then
Day=05
echo " $Day"
elif [ $Day = 6 ]
then
Day=06
echo " $Day"
elif [ $Day = 7 ]
then
Day=07
echo " $Day"
elif [ $Day = 8 ]
then
Day=08
echo " $Day"
elif [ $Day = 9 ]
then
Day=09
echo " $Day"
fi
DATE=$Year-$Month-$Day
echo $DATE
LOGDIR=/opt/CPfw1-R55/log
TARDIR=/opt/CPfw1-R55/log/Backup
LOGFILE=$TARDIR/IntVPN_$DATE.tar.gz
if test -f $LOGFILE
then
/bin/rm -f $LOGFILE
echo " exiting $LOGFILE file is deleted."
fi
if test -f $TARDIR/IntVPN_$DATE.tar
then
/bin/rm -f $TARDIR/IntVPN_$DATE.tar
echo " exiting $TARDIR/IntVPN_$DATE.tar file is deleted."
fi
#/bin/tar cvf $LOGDIR/$DATE.tar $LOGDIR/*$DATE*.*
/bin/tar cvf $TARDIR/IntVPN_$DATE.tar $LOGDIR/*$DATE*.*
/bin/gzip -9 $TARDIR/IntVPN_$DATE.tar
echo " $TARDIR/IntVPN_$DATE.tar.gz file is made."
delete Rootin
/bin/rm -f $LOGDIR/*$DATE*.*
echo " exiting $LOGDIR/*$DATE*.* file is deleted."
링크를 참조해 보세요.
궁금하신 내용에 대한 대답이 좀 있는 내용을 찾았습니다.
http://answers.google.com/answers/threadview?id=25116
도움이 되면 좋겠습니다
[code:1]tar cf - $dir | split -d -b 1000
tar cf - $dir | split -d -b 1000m - $BACKUP_DIR/$dir.tar.
FC2 쪽에 설치된 tar 는 2기가 제한은 없습니다.
백업 디렉토리가 삼바로 공유된 vfat 파일시스템이어서 2기가 제한에 걸리더군요.
위에처럼 split 으로 1기가 단위로 잘라줍니다.
압축해제할적엔 cat $dir* | tar xvf - 하면 잘 됩니다.
댓글 달기