• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

crontab 질문이 있습니다.

22.04.05 09:18 작성 조회수 111

1

export DATE=$(date -d "-1 days " "+%Y%m%d")
export C0=CF02_$DATE
export C1=$(echo $C0 |awk {'print substr ($0,1,11)'};)
 
cat /root/mo/$C1*.dat >> /root/mo/$C1.dat
tar -cvf /root/mo/$C1.tar /root/mo/$C1.dat

위 쉘 스크립트를 아래와 같이 crontab으로 돌리려 하는데 잘 안되네요;; 제가 뭘 놓치고 있을까요?

[root@RHEL8 mo]# crontab -l
5 0 1 * * root/mo/test.sh >> error.log


에러 로그는 제가 뭐가 찍히나 보려고 걸어 놨는데 전혀 찍히는게 없네요..

매 월 1일 0시 5분에 돌리려 하는데 도움 좀 부탁드립니다 감사합니다.

답변 2

·

답변을 작성해보세요.

0

gorogong님!

아래와 같이 테스트해 보았습니다. 잘 작동합니다 ^^

파일명: test.sh

set -x

export DATE=$(date -d "-1 days " "+%Y%m%d")
export C0=CF02_$DATE
export C1=$(echo $C0 |awk {'print substr ($0,1,11)'};)
 
cat /home/debian/Desktop/$C1*.dat >>/home/debian/Desktop/$C1.dat
tar -cvf /home/debian/Desktop/$C1.tar /home/debian/Desktop/$C1.dat

테스트 방법( 매시간 30분에 실행 )

debian@debian:~/Desktop$ crontab -e
30 * * * * /home/debian/Desktop/test.sh >> /home/debian/Desktop/error.log

debian@debian:~/Desktop$ ls
CF02_202204.dat CF02_202204.tar error.log test.sh
debian@debian:~/Desktop$

 

0

gorogong님~ 안녕하세요:)

# 슬래시를 빼먹으셨네요. 그리고 error.log 의 완전한 경로를 주는 것이 좋을 듯 합니다.
5 0 1 * * /root/mo/test.sh >> /root/mo/error.log

# 이런 식으로 실행 속성을 부여해 주셨나요
chmod +x /root/mo/test.sh
 
gorogong님의 프로필

gorogong

질문자

2022.04.06

경로 및 권한을 전부 다 부여했는데도 뭐가 문제인지 모르겠네요.. ㅠㅠ;;