유닉스 Crontab 관련 질문 드립니다..

ybdnice의 이미지

질문에 앞서 제가 유닉스OS에 대해 아는게 별로 없는 초보입니다..-_-;

우선 crontab에 Autodel.sh파일을 5분 마다 등록을 해 놓았습니다..

그리고 Autodel.sh파일안의 내용은 어떤로그(.log)파일이나

어떤폴더(.Dir)을 일정기간(예를들면 로그는 1일마다 지워라 or 작업폴더는 2일 마다 지워라)에 지우

게 되도록 쉘파일 작성되어 있습니다..

근데 제가 어쭈어 보고 싶은건 Crontab에 등록된 저 Autodel.sh파일 안의 일정기간을 사용자(User)가

원하는 날짜에 어떤수를 입력하면....음....만약 어떤텍스트창에 2라는 수를 넣으면 .log파일이 1일에

서2일로 변경되어 2일마다지우는게 가능한지 어쭈어 보고 싶습니다. 그리고 날짜가 변경된 것에 대한 일

종의 config파일을 작성하여 관리할려고 하는데 그게 가능한지도 어쭈어 보고 싶습니다..

유닉스가 첨이다 보니 너무 몰라서;;. 거의 system권한에서 실행되는 crontab을 함부로 그 하위

(user)에서 편집한 일종의 config같은 파일이 접근이 될까??라는 의구심이 생겨서 어쭈어보는 겁니다.. 답변 좀 부탁드립니다..

doodoo의 이미지

대충 이정도 원하시는거 같은데요...

admin@samsung-4600a4d ~
$ cat del-log
/home/log1 2
/home/log2 3
 
admin@samsung-4600a4d ~
$ cat del-log.sh
#/usr/bin/sh
 
while read line
do
        del_dir=`echo $line | awk '{print $1}'`
        del_day=`echo $line | awk '{print $2}'`
        echo find $del_dir -type f -ctime ${del_day}+ -exec rm {} \;
done < del-log
 
admin@samsung-4600a4d ~

del-log 가 컨피그 파일이고...
del-log.sh 가 지우는 프로그램 입니다...실제로 테스트 용 이므로 ... find 의 앞에 있는
echo 는 지우셔야 합니다...(이미 아시겠지만...)

지우시는거 바꾸고 싶으시면...del-log 편집하시면 될것 같네요.