日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux】crontab 定时任务 遇到几个问题

發布時間:2025/3/20 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux】crontab 定时任务 遇到几个问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • cron 與 crontab 區別
    • bash xxx.sh 可以執行,但是crontab定時任務不執行,也沒有報錯信息,無日志;
    • 首先區分 crontab -e 和 /etc/crontab
    • crond[1655]: (bash) ERROR (getpwnam() failed)
    • 定時任務輸出內容寫入 /var/spool/mail/root 文件
    • 日志信息:Removed slice User Slice of root.
    • crontab定時任務不執行注意點
    • docker container 使用crontab

cron 與 crontab 區別

cron 是提供定時任務的服務
crontab 是在cron服務下具體每一條任務,可以理解為 cron table

bash xxx.sh 可以執行,但是crontab定時任務不執行,也沒有報錯信息,無日志;

* * * * * /root/xxx.sh /root/xxx.conf 1>/dev/null 2>&1

首先區分 crontab -e 和 /etc/crontab

  • 使用命令 crontab -e 然后直接編輯定時腳本。 時間 +具體的名字
  • 這樣執行以后,屬于用戶自定義的,會被寫到 /var/spool/cron 目錄下,生成一個和用戶名一致的文件,文件內容就是我們編輯的定時腳本。
  • (系統級的)做系統級配置我們會直接配置 /etc/crontab
  • (用戶級的)一般還是建議大家使用 crontab -e ,這樣系統也會幫著檢查我們配置的腳本語法。
  • 如果用戶級別定時任務(crontab -e)不能執行,可以嘗試 改為 系統級別定時任務(/etc/crontab)

crond[1655]: (bash) ERROR (getpwnam() failed)

  • 場景:
    在/etc/crontab中,寫入 * * * * * bash /root/xxx.sh /root/xxx.conf 1>/dev/null 2>&1,報錯crond[1655]: (bash) ERROR (getpwnam() failed)
  • 解決:
沒有寫用戶root導致 * * * * * /root/xxx.sh /root/xxx.conf 1>/dev/null 2>&1 錯誤寫法# * * * * * user-name command to be executed * * * * * root /root/xxx.sh /root/xxx.conf 1>/dev/null 2>&1 正確的方式

定時任務輸出內容寫入 /var/spool/mail/root 文件

# 去掉末尾 2>&1 * * * * * root /root/xxx.sh /root/xxx.conf 1>/dev/null

日志信息:Removed slice User Slice of root.

/var/log/messages 文件部分信息

systemd: Created slice User Slice of root. systemd: Started Session 1529 of user root. systemd: Removed slice User Slice of root.

解決

這些是與片的創建和刪除有關的消息,這些消息在systemd中用于對進程進行分組并管理其資源。
為什么默認情況下會記錄它們,這使我無所適從,但是我已經看到了兩種禁用它們的方法:
較少干擾的方法是通過創建具有以下內容的/etc/rsyslog.d/ignore-systemd-session-slice.conf來過濾掉它們:

if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-" or $msg contains "Removed Slice" or $msg contains "Stopping user-") then stop

然后重新啟動rsyslogd systemctl restart rsyslog

更廣泛的方法是通過編輯將systemd日志記錄級別設置得更高一些/etc/systemd/system.conf:

#LogLevel=info LogLevel=notice

參考:
https://unix.stackexchange.com/questions/267965/system-log-full-of-session-and-slice-messages
https://access.redhat.com/solutions/1564823

crontab定時任務不執行注意點

  • 腳本中涉及文件路徑時寫絕對路徑;

  • 腳本執行要用到環境變量時,通過source命令顯式引入,例如:

  • #!/bin/sh source/etc/profile
  • 當手動執行腳本沒問題,但是crontab不執行時,可以嘗試在crontab中直接引入環境變量解決問題,例如:
  • 0 * * * * /etc/profile;/bin/sh/path/to/myscript.sh

    參考鏈接:
    https://zhang.ge/5093.html

    docker container 使用crontab

    見:https://muguang.me/it/2659.html

    總結

    以上是生活随笔為你收集整理的【Linux】crontab 定时任务 遇到几个问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产91精品在线观看 | 成人欧美一区二区三区在线观看 | 17c在线视频 | 日韩在线天堂 | 免费观看成人 | 国产精品黑人一区二区三区 | 亚洲中文字幕无码爆乳av | 一区二区三区四区欧美 | 国产制服丝袜在线 | 污污污www精品国产网站 | 快色av| 国产三级在线观看完整版 | 日韩精品理论 | 国产偷人妻精品一区二区在线 | 可以看的av网站 | 天天艹天天 | 天天射天天干天天舔 | 国产精品suv一区二区 | 国产一区二区精品 | 免费a级片视频 | 亚洲精品国产精品乱码视色 | 夜夜草网 | 草碰在线视频 | 国产超碰| 无限国产资源 | 草久在线 | 日朝毛片 | 韩国电影一区二区三区 | 99久久久无码国产精品免费蜜柚 | 亚洲免费国产视频 | av不卡网| 久久αv | 在线精品观看 | 91久久综合精品国产丝袜蜜芽 | 日本一级做a爱片 | 91禁国产网站 | 成人1区 | 天堂在线中文资源 | 精品国产乱 | 亚洲免费黄色 | 国产a v一区二区三区 | 妺妺窝人体色WWW精品 | 羞羞的软件 | av新天堂 | 影音先锋人妻啪啪av资源网站 | 日韩午夜影院 | 四虎av网站| 嫩草影院在线观看视频 | 久操色| 日韩二级片 | 中文字幕精品无码亚 | 在线日韩中文字幕 | 亚洲精品www久久久 一级aaa毛片 | 日韩av无码久久 | 三级性生活片 | 在线能看的av网站 | 午夜av一区 | 美国性生活大片 | 免费国产羞羞网站视频 | 九七电影院97理论片 | 日本视频一区二区三区 | 好吊视频在线观看 | 亚洲精品久久久久国产 | 手机在线一区二区 | 欧美伦理一区二区 | 亚洲第一页av | youjizz中国少妇 | 亚洲精品成人 | 天堂视频免费看 | 伊人888| 老司机午夜性大片 | 午夜影院日本 | 天天爱夜夜爱 | 欧美三根一起进三p | 在线99| 久久首页 | 极品少妇xxxx精品少妇 | 在线不卡免费视频 | 成人小视频在线播放 | 成人女同av免费观看 | 免费亚洲一区 | 你懂的在线播放 | 成人区人妻精品一区 | 调教撅屁股啪调教打臀缝av | 啪啪.com| 美女91网站| 久久毛片视频 | 播放一级黄色片 | 日本黄色不卡视频 | 亚洲av毛片基地 | 国产精品久久久久蜜臀 | 成人黄色在线观看 | 欧洲久久久久 | 亚洲激情中文字幕 | 天天舔天天干天天操 | 九热这里只有精品 | 国产一区二区欧美日韩 | 国产欧美日 | www.日韩欧美 |