最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker容器中cron任務(wù)未執(zhí)行的原因分析及解決

 更新時(shí)間:2025年08月13日 10:01:39   作者:IT雜人  
在Ubuntu?22.04鏡像中cron任務(wù)執(zhí)行失敗,可能與pam權(quán)限或文件權(quán)限設(shè)置有關(guān),解決方法包括動(dòng)態(tài)加載任務(wù)至crontab及將文件權(quán)限設(shè)為600(容器默認(rèn)umask=0022),后者因權(quán)限沖突導(dǎo)致執(zhí)行失敗,推薦此方案

前提

  1. cron正確安裝: apt-get cron
  2. cron-job格式正確:*/1 * * * * /bin/sh xxx
  3. cron-job的文件位置正確:/var/spool/cron/crontabs/root

現(xiàn)象

在宿主機(jī)安裝能成功,反復(fù)檢查沒問題,只要安裝到ubuntu:22.04鏡像中就執(zhí)行不了

(無解)解決一:pam權(quán)限問題

網(wǎng)上有部分是這原因,但我不是~

RUN echo '*/1 * * * * /bin/sh xxx.sh'>>/var/spool/cron/crontabs/root
RUN sed -i '/session    required   pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/cron

(可行)解決二:動(dòng)態(tài)加載到cron執(zhí)行任務(wù)中

此方法測(cè)試可行,強(qiáng)制加入文件到crontab執(zhí)行任務(wù)中,且文件的位置可任意指定

RUN echo '*/1 * * * * /bin/sh xxx.sh'>>/var/spool/cron/crontabs/root
RUN crontab /var/spool/cron/crontabs/root

(推薦,最終原因)解決三:job文件權(quán)限修改為600

/var/spool/cron/crontabs下的文件必須是600(-rw-------)的文件權(quán)限,而不應(yīng)該使用容器的644權(quán)限(容器里一般umask=0022),權(quán)限低的能執(zhí)行成功,權(quán)限高的反而執(zhí)行失敗。

此種方法使用了cron默認(rèn)操作方式,推薦使用。

RUN echo '*/1 * * * * /bin/sh xxx.sh'>>/var/spool/cron/crontabs/root \
        && chmod 600 /var/spool/cron/crontabs/root

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

大荔县| 巨鹿县| 文昌市| 安丘市| 东乡县| 广昌县| 渝中区| 临澧县| 宕昌县| 通山县| 武强县| 远安县| 苍溪县| 滦南县| 赞皇县| 孟州市| 遵义县| 贺兰县| 磐安县| 平舆县| 申扎县| 财经| 娱乐| 峨山| 格尔木市| 鄂尔多斯市| 台南市| 大名县| 山丹县| 保亭| 苗栗县| 且末县| 徐汇区| 仪征市| 河南省| 铅山县| 奈曼旗| 秀山| 申扎县| 自贡市| 鄂尔多斯市|