while/read/do/done
200개 이상의 값이 포함된 텍스트 파일에서 루프를 실행하는 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
내용이 무엇인지 확인하세요.