docker Mongoコンテナを使用していて、bashスクリプトを使用してバックアップを取ろうとしています。独自に実行されるスクリプトはうまく動作します。 syslogでもcronが実行されているがコマンドが表示されていないことがわかります。私がcrontab -eでファイルを開き、保存して終了したら(:wq)、cronを再起動すると、ジョブは正常に動作します。再保存する前にdockerコンテナにcronファイルを再保存するまで、Cronジョブは機能しません
* * * * * /db_scripts/MongoDBBackup.sh >> /db_scripts/logs/backup.log
これはsyslogの出力です:
ADD mongocron /etc/cron.d/
RUN tr -d '\015' </etc/cron.d/mongocron> /etc/cron.d/mongocron
#RUN touch /etc/cron.d/mongocron
#RUN echo "* * * * * /db_scripts/MongoDBBackup.sh >> /db_scripts/logs/backup.log\n" > /etc/cron.d/mongocron
RUN crontab /etc/cron.d/mongocron
RUN chmod 0644 /etc/cron.d/mongocron
これは、ファイルmongocronにあるものである:ここでは
は私dockerfileの関連セクションでcronを単独で再起動しても修復されません。私は行末と関係があると感じています。なぜなら、dockerfileの改行でコメントアウトされた "エコー"戦略が表示される理由です。私はまた、私のコマンドが私がcrontab -lに表示されることを(保存する前に)確認しました。
なぜ機能していないのですか?あなたの解決策は何ですか?私は同じ問題に会ったと思う。私はドクターが起動した後、 "crontab -l | crontab - "を使用して作業するためにcronを起動することができます。 –