docker execがcronで動作しない 質問する

docker execがcronで動作しない 質問する

コマンドまたはbashスクリプトとしてスタンドアロンで正常に動作する非常に単純なコマンドがありますが、crontabに配置すると動作しません。

40 05 * * * bash /root/scripts/direct.sh >> /root/cron.log

次の行があります

PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/root/
# Mongo Backup
docker exec -it mongodb mongodump -d meteor -o /dump/

スクリプトのURLを変更しようとしましたが、/usr/bin/scirpts/うまくいきませんでした

cronで直接スクリプトを実行しようとした

26 08 * * * docker exec -it mongodb mongodump -d meteor -o /dump/ >> /root/cron.log

運が悪かったので、助けていただければ幸いです。

編集

/root/cron.logファイルにもエラーは見当たりません

ベストアンサー1

コマンドdocker execには「疑似端末が必要で、対話モードで実行される」と書かれています(-フラグ) ですが、cron はどの TTY にも接続しません。

docker exec コマンドをこれに変更して、動作するかどうか確認してみてください。

docker exec mongodb mongodump -d meteor -o /dump/

おすすめ記事