ホームページ > 運用・保守 > Docker > crontab が有効にならない問題を docker が解決する方法

crontab が有効にならない問題を docker が解決する方法

WBOY
リリース: 2022-08-16 18:18:36
オリジナル
7871 人が閲覧しました

解決策: 1. コンテナ内の「/etc/init.d/crond status」が実行状態であるかどうかを確認します; 2. 「/etc/pam.d/crond」ファイルを変更し、 "required" "Change to "sufficient"; 3. "/etc/init.d/crond restart" を使用して crond サービスを再起動します。

crontab が有効にならない問題を docker が解決する方法

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

crontab が有効にならない問題を docker が解決する方法

docker では centos イメージがデフォルトで使用され、イメージには crond がインストールされません。yum でインストールが成功すると、crontab はインストールされます。発効しません。

1. まず、コンテナ内の /etc/init.d/crond ステータスが実行状態であるかどうかを確認します。

最初の手順で解決できない場合は、次の方法を参照してください:

2. /etc/pam.d/crond ファイルを変更し、必要な部分から十分な部分まで変更してから、 restart crond サービス: /etc/init.d/crond restart

crontab が有効にならない問題を docker が解決する方法

注: この問題は、centos7 の基本イメージには存在していないようです。

知識を広げる

最も早い解決策

1. ホスト マシンで

       1 3  * * * root  cd /data/wwwroot/xxx && docker-compose exec app php think xxx >> /var/log/crontab_xxx.log
ログイン後にコピー

docker-compose exec app php think xxx has been unownedly completed

2. 次に、crontab をコンテナにインストールしますが、実行は依然として失敗します。重要なのは、関連するログがないことです。 crontabも起動していることを確認してください。 /etc/init.d/cron status

3. rsyslog をインストール、apt-get install rsyslog、service rsyslog start

View /var/log/syslog

Dec 25 09:07:07 1a8e4fd5c766 crontab[15120]: (root) BEGIN EDIT (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) REPLACE (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) END EDIT (root)
Dec 25 09:08:01 1a8e4fd5c766 cron[15100]: (root) RELOAD (crontabs/root)
Dec 25 09:08:01 1a8e4fd5c766 CRON[15133]: Cannot make/remove an entry for the sp
ログイン後にコピー

4 /etc/pam.d/cron

セッションをコメントアウトして必要な pam_loginuid.so

5. cron を再起動して正常に実行します

また、この行を変更します。 dockerfile

RUN sed -i '/session    required   pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/crond
ログイン後にコピー

crontab の実行にも落とし穴があります。環境変数が読み込まれ、PHP が絶対パスを記述する必要があるため、手動でスクリプトを実行しても問題ありません。

 /usr/local/bin/php think xxx
ログイン後にコピー

推奨調査: "docker ビデオ チュートリアル>>

以上がcrontab が有効にならない問題を docker が解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート