Ubuntu 18.04的Docker上發生的問題,Crontab無法運作且在/var/log/syslog會出現下列錯誤訊息:
Apr 11 16:40:01 CRON[31656]: 無法為指定的工作階段製作/移除項目 Apr 11 16:45:01 CRON[31666]: 無法為指定的工作階段製作/移除項目 Apr 11 16:50:01 CRON[31708]: 無法為指定的工作階段製作/移除項目 Apr 11 16:55:01 CRON[31727]: 無法為指定的工作階段製作/移除項目 Apr 11 17:00:01 CRON[31753]: 無法為指定的工作階段製作/移除項目 Apr 11 17:05:01 CRON[31755]: 無法為指定的工作階段製作/移除項目 Apr 11 17:09:01 CRON[31765]: 無法為指定的工作階段製作/移除項目 Apr 11 17:10:01 CRON[31766]: 無法為指定的工作階段製作/移除項目 Apr 11 17:15:01 CRON[31783]: 無法為指定的工作階段製作/移除項目 Apr 11 17:17:01 CRON[31787]: 無法為指定的工作階段製作/移除項目 Apr 11 17:20:01 CRON[31790]: 無法為指定的工作階段製作/移除項目
原因是出在PAM上面,處理方法是編輯/etc/pam.d/cron
# The PAM configuration file for the cron daemon @include common-auth # Sets the loginuid process attribute session required pam_loginuid.so # Read environment variables from pam_env's default files, /etc/environment # and /etc/security/pam_env.conf. session required pam_env.so // <====這一行註解起來 # In addition, read system locale information session required pam_env.so envfile=/etc/default/locale @include common-account @include common-session-noninteractive # Sets up user limits, please define limits for cron tasks # through /etc/security/limits.conf session required pam_limits.so
然後重新啟動crontab即可
/etc/init.d/cron restart