実現したいこと
shellに実装したループ文の結果が手動実行とcron実行で差異があるため、
手動実行内容に合わせたい。
質問内容
あるファイル数分繰り返し処理を行いたいのですが、cron側にて意図しない挙動となってしまっております。
色々調べてみたのですが原因が特定出来なかった為、皆様へお聞きしたい次第となります。
該当のソースコード
#!/bin/bash
~省略~
USER_NAME=`whoami`
CURRENT_DIRECTORY=/home/"$USER_NAME"
~省略~
INPUT_DIR="$CURRENT_DIRECTORY"/ディレクトリ
INPUT_FILE1=rotation_list.lst
INPUT_FILE_PATH1="$INPUT_DIR"/"$INPUT_FILE1"
~省略~
#入力ファイルの読込
while read line; do
TARGET_DIR="$line"
sudo ls "$TARGET_DIR" >> /ディレクトリ/command.log
sudo ls "$TARGET_DIR" | while read FILE; do
echo "呼ばれたよ" >> /ディレクトリ/command.log
~省略~
done
done < "$INPUT_FILE_PATH1"
該当のcron設定内容
#パス設定
PATH=/bin/bash:/usr/local/sbin:/usr/bin:/bin:/usr/local/bin
#JOB_NET設定
00 20 * * 0 /bin/bash /ディレクトリ/rotation.sh
試したこと
標準出力内容をそれぞれログ出力し、内容の確認を実施。
【手動実行】
20230326_145007_rotation.log
20230402_145007_rotation.log
20230409_201022_rotation.log
呼ばれたよ
呼ばれたよ
呼ばれたよ
【cron】
20230326_145007_rotation.log
20230402_145007_rotation.log
20230409_200803_rotation.log
呼ばれたよ
補足情報(FW/ツールのバージョンなど)
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

回答2件
あなたの回答
tips
プレビュー