기타

[sh / crontab / cron] 일정 주기마다 빈 디렉터리 삭제

Gh1324 2022. 10. 3. 09:30
728x90

우선 파일을 주기적으로 삭제하는 스크립트를 준비한다.

find /dir/ -empty -type d -delete -print

위의 스크립트를 /root/test/test.sh 파일에 등록한다. 

 

chmod +x test.sh

등록 후에 실행 가능하게 설정을 해줘야 한다.

 


이제 저 스크립트를 crontab에 등록해야 한다.

 

################################################################################################

우선 필자의 경우에는 도커를 사용중에 있어 도커에 접근하는 단계도 추가하겠다. 

 

 아래의 명령어로 현재 올려져 있는 도커 리스트를 조회한다. 

docker ps

// 개인정보는 가렸습니다..

제일 우측의 NAMES 열을 가지고 도커에 접속을 하면 된다. 

docker exec -it [NAMES] /bin/bash

################################################################################################

 

crontab -l

위의 명령어로 현재 crontab에 있는 스크립트 파일을 확인한다.

 

crontab -e

위의 명령어로 crontab을 수정한다.

 

* * * * * /root/test/test.sh > /root/test/log.txt

위의 명령어는 /root/test/test.sh라는 명령어를 매분마다 실행하고 그 결과값(log)를 /root/test/log.txt에 기록(>)하라는 뜻이다.

 

>의 의미 : 실행 결과를 로그로 기록할 수 있다. 로그는 누적되지 않고 새롭게 기록됨.

>> : 실행결과를 로그로 기록할 수 있다. 로그는 누적됨.

 

 

* * * * * 의 의미 :

* * * * *
매 분 매 시 매 일 매 월 매 요일
0~59 0~23 0~31 1~12 0(일요일)~6(토)~7(일요일)

 

* 0은 조건 스킵합니다.

 

 

ex) 만약 매 5시마다 실행을 시키고 싶다면 

 

0 5 * * * 라고 설정해주면 된다!

728x90