dockerコマンドをcronで実行しようとしたらthe input device is not a TTY

インフラストラクチャ

概要

dockerコマンドをcronで実行しようとしたら"the input device is not a TTY"と怒られてしまった。

cronに設定しようとした内容例は以下。

* * * * * user docker exec -it container-name mysqldump dbname -uuser -ppassword  > backup.sql

原因

-t がTTY割当、-iが標準入力を開くオプションだが、cronの実行では不要だった。

解決策

-itのオプションを削除すれば解決。


関連書籍