While/Read/Do/Done 루프가 텍스트 파일의 절반을 잘라냅니다.

While/Read/Do/Done 루프가 텍스트 파일의 절반을 잘라냅니다.

while/read/do/done200개 이상의 값이 포함된 텍스트 파일에서 루프를 실행하는 bash 스크립트가 있습니다 . 매일 아침 3번 실행되도록 cron에 이 bash 스크립트를 설정했습니다. while 읽기 루프가 텍스트 파일을 한 줄씩 읽는 것을 완료하지 못하는 문제가 있습니다. 아래에 관련 코드를 모두 포함했습니다. 현재 Ubuntu 16.04 LTS 데스크탑을 사용하고 있습니다.

원인은 무엇일까요?

Bash 스크립트 코드:

while read point; do

  echo "${point}"

done < /home/admin/site_list

site_list 파일(예):

KBOS
KLWM
KOWD
KPYM

예약 된 일들:

07 6 * * * time /home/admin/all.sh > /home/admin/logs/all1.log1 2>&1
08 10 * * * time /home/admin/all.sh > /home/admin/logs/all1.log2 2>&1 
14 13 * * * time /home/admin/all.sh > /home/admin/logs/all1.log3 2>&1 

답변1

아마도 stderr를 time /home/admin/all.sh로그 파일이나 다른 파일로 리디렉션해야 할 것입니다. 내 생각엔 당신이 오류 메시지를 놓친 것 같습니다. crond일반적으로 모든 stdout 또는 stderr 출력은 cron 작업 소유자에게 이메일로 전송됩니다. 귀하의 정보로는 사용자 ID가 무엇인지 알 수 없습니다. 아마도 루트일 것입니다. 해당 컴퓨터의 이메일에서 보낸 이메일을 확인하고 crond내용이 무엇인지 확인하세요.

관련 정보