While/Read/Do/Doneループはテキストファイルの半分を切り取ります。

While/Read/Do/Doneループはテキストファイルの半分を切り取ります。

while/read/do/done200以上の値を含むテキストファイルでループを実行するbashスクリプトがあります。毎朝3回実行するようにcronにこのbashスクリプトを設定しました。 while読み取りループがテキストファイルを1行ずつ読み取ることを完了できないという問題があります。以下に関連コードをすべて含めました。私は現在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内容が何であるかを確認してください。

おすすめ記事