毎日のクローン操作がうまくいかないようです。

毎日のクローン操作がうまくいかないようです。

毎日午前2時にシェルスクリプトを実行するようになっているクローンジョブがあります。

0 2 * * * /root/bin/script.sh

しかし、まったく動作しません。私は何を見逃していますか?

詳細:手動で実行すると、スクリプトはクローン予約なしで正常に実行され、予想されるタスクを実行します。 rootユーザーがcronジョブを実行しています。 cronジョブはcrontab -eユーザーによってスケジュールされますrootpgrep cronサービスIDが与えられると、これはcronサービスが実行中であることを意味します。ファイルの内容は次のとおりです/root/bin/script.sh

BACKUP_LOG=/var/log/backup.log
exec 1> >(while IFS= read -r line; do echo "$(date --rfc-3339 ns) $line"; done | tee -a ${BACKUP_LOG}) 2>&1

# Back up the etc directory
mkdir /home/directory1/backup/etc_backup
cp -Lrp /etc /home/data/backup/etc_backup
tar czf /home/data/backup/etc_backup.tgz
/home/data/backup/etc_backup
rm -rf /home/data/backup/etc_backup

実際にスクリプトをからに移動しました/etc/cron.daily//root/binこのスクリプトは/etc/cron.daily毎日の実行にのみ使用する必要がありますか?

ベストアンサー1

私の考えでは、正しいshebangがないので、シェルはスクリプトを正しく理解していないようです。代わりにこれを試してくださいcrontab -e

0 2 * * * bash /root/bin/script.sh > /tmp/crontest.log 2>&1

bashを使って直接呼び出すと、スクリプトが正しく実行されます。すべての出力は最終的に記録する必要がありますが/tmp/crontest.log、まだ機能していない場合はデバッグに役立ちます。

おすすめ記事