はじめに
DockerでCronを動かそうとしたら
Cannot make/remove an entry for the specified session
と出て動かなかった時の対処法メモです。
Versionや構成
Docker内のVersionです。
- CentOS release 6.6 (Final)
- SupervisordでCronを起動
- CentOSのベースイメージからそんなにいじってない環境
問題
症状
Cronを実行しようとすると、
/tmp以下に以下のようなログが出ていてCronが実行されていません。
tmp/crond-stderr---supervisor-oAgn26.log
Cannot make/remove an entry for the specified session
対策
のように
/etc/pam.d/crond
の pam_loginuid.so をコメントアウトします。
/etc/pam.d/crond
#
# The PAM configuration file for the cron daemon
#
#
# No PAM authentication called, auth modules not needed
account required pam_access.so
account include password-auth
# session required pam_loginuid.so ← これをこんな風にコメントアウト
session include password-auth
auth include password-auth
そして sudo service crond restart
で crond を再起動します。
さいごに
PAMとかあまりよくわかってなく動けばいいや的な感じでやっているので、
この対処法では問題がある場合はご指摘いただければ幸いです。