안녕하세요 linux 초보자 patrick입니다.

patrick의 이미지

제가 folder안에 있는 오래된 file을 지우는 script를 만들어서 crontab으로 주기적으로 돌려보려 하는데,

find /폴더/* -prune -atime +7 -exec rm -f {} \;

위의 명령어가 terminal상에서는 제대로 working을 하는데,

#!/bin/csh
eval "find /폴더/* -prune -atime +7 -exec rm -f {} \;"

위와 같이 작성하고 csh 파일이름 으로 실행하면

find: missing argument to '-exec'
라는 error가 나옵니다.

제가 완전 초보자라서 원인을 모르겠습니다. 지도 부탁 드립니다.
감사합니다.

ngh1262의 이미지

터미널상에서 돌릴때에는 c쉘이아닌 그냥 쉘로 돌아가서 명령어가 입력이 가능할 것입니다.

아니면 crontab에 직접 입력해서 하는것도 방법중의 하나입니다.

스크립트로 돌리고싶다 하시면

함수선언 (#!/bin/csh)을 바꿔보고 해보세요

(#!/bin/sh)