-
Crontab 설치가 실패한다면? 마지막 줄에 줄바꿈 체크하기!개발Tip 2025. 1. 5. 15:43
-바쁜 현대인들을 위한 한 줄 summary-
‘newline before EOF’ 오류 해결: 줄바꿈 문자 확인하기"
crontab을 docker container에서 실행하기 위해
아래의 명령어를 Dockerfile에 추가하고 image 빌드하는 순간,
RUN crontab -u airflow /opt/crontab.sh
* /opt/crontab.sh 파일을 "airflow" user의 crontab(cron 잡)으로 설정하기 위한 명령어
다음과 같은 에러가 발생했습니다.😱
> [4/9] RUN crontab -u airflow /opt/crontab.sh && chmod u+s /usr/sbin/cron: #6 0.344 new crontab file is missing newline before EOF, can't install. ------ executor failed running [/bin/bash -o pipefail -o errexit -o nounset -o nolog -c crontab -u airflow /opt/crontab.sh && chmod u+s /usr/sbin/cron]: exit code: 1
즉, crontab.sh 파일에 줄바꿈 문자가 빠져있음을 의미하고,
맨 마지막줄에 띄어쓰기(엔터)를 해주면 깔끔하게 해결쓰.
또 다른 방법으로는,
RUN echo >> /opt/crontab.sh
1. cron job 스크립트 파일에 빈 줄을 추가해주거나
RUN sed -i -e '$a\' /opt/crontab.sh
2. 파일 마지막에 newline이 있는지 체크하고 없으면 추가하는 방식
으로 해결할 수 있는데, crontab이나 JSON, Dockerfile과 같이 명령어의 구조가 명확한 파일 타입의 경우
2번을 더 추천드립니다!
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
반응형'개발Tip' 카테고리의 다른 글
[Linux] ec2 방화벽 port 설정 명령어(feat. firewall-cmd) (0) 2024.02.01 나의 인생 첫 오픈소스 컨트리뷰트 성공 후기 (1) 2023.12.17 내가 문제를 해결하는 방법(feat. 모든 답은 코드에 있다@_@) (0) 2023.05.27 파일 싱크 자동화를 위한 incrontab 스크립트 개발(feat. git->s3) (0) 2022.12.26 S3/Athena DB명 하이픈 포함 시 이스케이프 문자 처리 (0) 2022.09.16