안녕하세요.
rm -rf 를 주석처리 하고 말씀하신 대로 echo 를 먼저 해보면
"03-04-29 를 삭제 합니다." 라는 문구는 출력 됩니다.
03-04-28
03-04-29
03-04-30
03-05-01
03-05-02
03-05-03
03-05-04
실제 7개의 디랙토리가 생성되어 있는 상태에서 스크립트를
직접 실행 하였을 경우에는 03-05-05 (8일차)가 생기면서 03-04-28 이
삭제 됩니다.
이러면 정상인데, cron 에 의해서 실행되면 삭제되지 않고
있습니다.
지금 이렇게 되어 있습니다.
#!/bin/bash
export Today="`date '+%y-%m-%d'`"
LOGdir="/usr/local/apache/logs"
#cd /backup/data
#rm -f *.tar.gz
backup_dir="/backup/data"
mkdir -p ${backup_dir}/$Today
tar cfpz ${backup_dir}/${Today}/$Today-usr.local.mysql.tar.gz /usr/local/mysql
tar cfpz ${backup_dir}/${Today}/$Today-usr.local.apache.tar.gz /usr/local/apache
tar cfpz ${backup_dir}/${Today}/$Today-home.tar.gz /home
tar cfpz ${backup_dir}/${Today}/$Today-etc.tar.gz /etc
rm -f ${LOGdir}/*_log
/usr/bin/killall -HUP httpd
dirlists=`/bin/ls -t $backup_dir 2>/dev/null`
i=1
for dir in $dirlists ; do
if [ "$i" -gt 7 ] ; then
rm -Rf $dir
#echo -n "$dir 을 삭제 합니다."
fi
i=$(($i+1))
done
exit 0
임의로 생성하면 안될듯 하여 저절로 쌓일때 까지 기다렸다가
해보는데 이러는 군요....