1461 번 글의 답장글: Re: 그래도 안되는데요?? |
글쓴이: 산이
[홈페이지]
|
글쓴날: 2003년 05월 10일 00:22:59 토(새벽) |
조회: 705 |
[김성민]님이 남기신 글:
>안녕하세요.
>
>7일치 데이터가 쌓이길 기다렸습니다.
>
>[root@ns data]# ls
>03-05-02 03-05-03 03-05-04 03-05-05 03-05-06 03-05-07 03-05-08
03-05-09
>
>오늘 9일이니 03-05-02 가 지워져야 되는데 삭제가
안되었습니다.
>
>아래는 현재 cron에 의해 실행되는 파일 입니다.
>
>[root@ns cron]# vi data_backup.sh
>#!/bin/bash
>
>export
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
>export Today="`date '+%y-%m-%d'`"
>LOGdir="/usr/local/apache/logs"
>
>#cd /backup/data
>#rm -f *.tar.gz
>
>backup_dir="/backup/data"
>/bin/mkdir -p ${backup_dir}/$Today
>
>/bin/tar cfpz ${backup_dir}/${Today}/$Today-usr.local.mysql.tar.gz
/usr/local/mysql
>/bin/tar cfpz ${backup_dir}/${Today}/$Today-usr.local.apache.tar.gz
/usr/local/apache
>/bin/tar cfpz ${backup_dir}/${Today}/$Today-home.tar.gz /home
>/bin/tar cfpz ${backup_dir}/${Today}/$Today-etc.tar.gz /etc
>
>/bin/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
> /bin/rm -Rf $dir
> fi
> i=$(($i+1))
>done
>
>exit 0
>
>아래는 /var/log/cron 중 해당 로그 입니다.
>
>May 9 04:00:00 ns CROND[32059]: (root) CMD (su - root -c
'/home/orings/cron/data_backup.sh' >& /dev/null)
>May 9 04:01:01 ns CROND[32122]: (root) CMD (run-parts /etc/cron.hourly)
>May 9 04:02:00 ns CROND[32130]: (root) CMD (run-parts /etc/cron.daily)
>May 9 04:02:05 ns anacron[32191]: Updated timestamp for job `cron.daily' to
2003-05-09
>
>
>그냥 직접 실행 하면 되는데 뭐 땀시 안되는걸까요...
========================================
좀 이상하군요..
로그인부분인것
같은데...
/home/orings/cron/data_backup.sh
파일을
# mv /home/orings/cron/data_backup.sh /etc/cron.daily/
# chmod u+x /etc/cron.daily/data_backup.sh
# chown root.root /etc/cron.daily/data_backup.sh
이렇게 root 소유자와 /etc/cron.daily 로 위치해 보세요..
나중에 천천히 뭐가 문제인지
debugfile='/tmp/mydebug.txt'
echo $Today >> $debugfile
dirlists=`/bin/ls -t $backup_dir 2>>$debugfile`
i=1
for dir in $dirlists ; do
echo "$dir 테스트" >> $debugfile
if [ "$i" -gt 7 ] ; then
/bin/rm -Rf $dir 2>>$debugfile
fi
i=$(($i+1))
done
이런식으로 디버깅해보세요..
|
이전글 : 그래도 안되는데요??
다음글 : Re: 그래도 안되는데요??
|
from 61.254.75.40
JS(Redhands)Board 0.4 +@
|