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

詳解Linux下crontab的使用與注意事項

 更新時間:2020年01月09日 09:14:25   作者:Alliot  
這篇文章主要介紹了詳解Linux下crontab的使用與注意事項,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

crontab是一個用于設(shè)置周期性被執(zhí)行的指令。其守護(hù)進(jìn)程為crond. crontab分為兩種配置模式,一種為用戶級的crontab,一種為系統(tǒng)級的crontab,這里我們分開來談。

用戶級crontab

用戶使用新建循環(huán)型工作調(diào)度時,使用的crontab命令,crontab -e所有用戶都可以使用,普通用戶也只能為自己設(shè)置計劃任務(wù)。然后自動寫入/var/spool/cron/usename

用戶控制文件

/etc/cron.allow :
將可以使用crontab的用戶寫入,僅該文件內(nèi)的用戶可以使用crontab,相當(dāng)于白名單

/etc/cron.deny :
將禁止使用crontab的用戶寫入,僅該文件內(nèi)的用戶禁止使用crontab,相當(dāng)于黑名單
其中/etc/cron.allow優(yōu)先級大于/etc/cron.deny,為避免混淆,建議二者僅使用一個。

命令

crontab [-u usename] [-l|-e|-r] 
參數(shù): 
-u:只有root才能進(jìn)行這個任務(wù),也即幫其他用戶新建/刪除crontab工作調(diào)度 
-e: 調(diào)用vi編輯crontab的工作內(nèi)容 
-l: 列出crontab的工作內(nèi)容 
-r: 刪除所有crontab的工作內(nèi)容。

語法

# .---------------- 分鐘 (0 - 59) 
# | .------------- 小時 (0 - 23)
# | | .---------- 日期 (1 - 31)
# | | | .------- 月份 (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- 周幾 (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * 命令

語法與系統(tǒng)級crontab很相似,不同點在于此處不需要指定執(zhí)行用戶,而系統(tǒng)級crontab(/etc/crontab)中需要。

舉例如下:

*/10 * * * * /home/test.sh   #每隔10分鐘就以當(dāng)前用戶執(zhí)行一次/home/test.sh腳本
0 2 * * * /home/test.sh     #每天2點 
0 5,17 * * * /home/test.sh   #每天5點、17點
0 17 * * sun /home/test.sh   #每周日17點
0 4,17 * * sun,mon /home/test.sh#每周一、周日
@reboot /home/test.sh      #系統(tǒng)重啟時

這里推薦一個在線小工具:在線生成cron表達(dá)式

系統(tǒng)級crontab

系統(tǒng)級crontab一般用于系統(tǒng)的例行性任務(wù),這種方法更加方便與直接直接給其他用戶設(shè)置計劃任務(wù),而且還可以指定執(zhí)行shell等。配置文件為/etc/crontab,該文件僅root用戶能夠編輯。

編輯/etc/crontab

默認(rèn)內(nèi)容如下:

SHELL=/bin/bash  這里是指定使用哪種shell接口 
PATH=/sbin:/bin:/usr/sbin:/usr/bin 這里指定文件查找路徑 
MAILTO=root             如果有額外的STDOUT,以email將數(shù)據(jù)送給誰,可以指定系統(tǒng)用戶,也可以指定email地址,如alliot@iots.vip
# For details see man 4 crontabs
# Example of job definition:
# .---------------- 分鐘 (0 - 59) 
# | .------------- 小時 (0 - 23)
# | | .---------- 日期 (1 - 31)
# | | | .------- 月份 (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- 周幾 (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * 用戶名 命令

即:

分 時 日 月 周 執(zhí)行用戶 任務(wù)命令

比如我要添加一個計劃任務(wù),每隔10分鐘就以root身份執(zhí)行一次/home/test.sh腳本,則在后面添加:

*/10 * * * * root /home/test.sh

這里注意,不要漏掉執(zhí)行者root(用戶級的crontab中不需要指定執(zhí)行者),否則會在/var/log/cron日志中出現(xiàn)”ERROR (getpwnam() failed)”錯誤,計劃任務(wù)無法正常運(yùn)行。

重啟服務(wù)

一般來說Linux下的crontab會自動幫我們每分鐘重新讀取一次 /etc/crontab 的例行工作事項,但是出于某些原因或者是其他的Unix系統(tǒng)中,由于crontab是讀到內(nèi)存當(dāng)中的,所以栽修改完 /etc/crontab 之后,可能并不會馬上執(zhí)行,這時候需要重啟crontab服務(wù)。

這里以CentOS為例:

service crond start  //啟動服務(wù) 
service crond stop   //關(guān)閉服務(wù) 
service crond restart //重啟服務(wù) 
service crond reload  //重載配置 
service crond status  //服務(wù)狀態(tài)

如果是CentOS 7則:

systemctl restart crond.service //重啟服務(wù) 
systemctl start crond.service  //啟動服務(wù) 
systemctl stop crond.service  //停止服務(wù) 
systemctl reload crond.service //重載配置 
systemctl status crond.service //服務(wù)狀態(tài)

其他注意事項

取消不需要的輸出

當(dāng)執(zhí)行結(jié)果或者執(zhí)行的選項中有輸出的數(shù)據(jù)時,該數(shù)據(jù)會通過mail發(fā)送給MAILTO指定的賬號,若某一個調(diào)度一直出錯,同時mail服務(wù)出現(xiàn)問題(事實上我根本就沒開這個服務(wù)),將會產(chǎn)生大量的文件于 /var/spool/clientmqueue/ ,所以最好是將crontab里面的命令后面加上> /dev/null 2>&1

2>:重定向錯誤。
2>&1:把錯誤重定向到輸出要送到的地方。即把上述命令的執(zhí)行結(jié)果重定向到 /dev/null ,即拋棄,同時,把產(chǎn)生的錯誤也拋棄。

檢查日志

日志保存在 /var/log/cron 中

語法區(qū)別

  • crontab -e命令會檢查語法,而vim編輯 /etc/crontab 則不會,這里注意的是,crontab -e不需要寫執(zhí)行者用戶名,而 /etc/crontab 需要指定。
  • 執(zhí)行路徑必須使用絕對路徑,否則可能無法正常執(zhí)行。
  • 周與日、月不能共存,即你可以分別以周或者是日、月為單位進(jìn)行循環(huán),但不可指定“幾月幾號且為星期幾”的模式工作。

參考資料

鳥哥的Linux私房菜

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux使用vim編輯文件保存時報E514:write error (file system full?)問題解決

    Linux使用vim編輯文件保存時報E514:write error (file system full?)問題解決

    最近在用vi編輯文檔,保存的時候,提示如下錯誤:E514: write error (file system full?),所以這篇文章主要給大家介紹了關(guān)于Linux使用vim編輯文件保存時報E514:write error (file system full?)問題的解決方法,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2018-02-02
  • 不能在本地計算機(jī)啟動 apache2.2解決方法

    不能在本地計算機(jī)啟動 apache2.2解決方法

    這篇文章主要介紹了不能在本地計算機(jī)啟動 apache2.2解決方法,本文的解決辦法只需要修改一個配置參數(shù)即可,需要的朋友可以參考下
    2015-07-07
  • 虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法

    虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法

    這篇文章主要為大家詳細(xì)介紹了虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 騰訊云(ubuntu)下安裝 nodejs + 實現(xiàn) Nginx 反向代理服務(wù)器

    騰訊云(ubuntu)下安裝 nodejs + 實現(xiàn) Nginx 反向代理服務(wù)器

    本文將介紹如何給騰訊云上的 Ubuntu Server 12.04 LTS 64位主機(jī)安裝 node 及 nginx,并簡單配置反向代理。
    2016-11-11
  • Linux中查看系統(tǒng)資源的常用命令分享

    Linux中查看系統(tǒng)資源的常用命令分享

    這篇文章主要介紹了Linux中查看系統(tǒng)資源的常用命令,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Linux定時刪除日志的簡單實現(xiàn)方法

    Linux定時刪除日志的簡單實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Linux定時刪除日志的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • ubuntu如何開啟ssh遠(yuǎn)程登錄

    ubuntu如何開啟ssh遠(yuǎn)程登錄

    在Ubuntu上開啟SSH遠(yuǎn)程登錄的步驟如下:檢查SSH安裝情況、啟動SSH服務(wù)、設(shè)置開機(jī)啟動、檢查SSH狀態(tài)、配置防火墻、并使用SSH客戶端進(jìn)行遠(yuǎn)程登錄
    2025-03-03
  • 騰訊云上免費(fèi)部署HTTPS的方法步驟

    騰訊云上免費(fèi)部署HTTPS的方法步驟

    這篇文章主要介紹了騰訊云上免費(fèi)部署HTTPS的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Linux watch命令的使用

    Linux watch命令的使用

    這篇文章主要介紹了Linux watch命令的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Linux系統(tǒng)的修復(fù)模式(單用戶模式)

    Linux系統(tǒng)的修復(fù)模式(單用戶模式)

    大家好,本篇文章主要講的是Linux系統(tǒng)的修復(fù)模式(單用戶模式),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

白河县| 高阳县| 张家口市| 太和县| 拉孜县| 贵港市| 太湖县| 武山县| 汨罗市| 玉田县| 阿拉善右旗| 高平市| 洪洞县| 衡东县| 凤阳县| 海阳市| 赤水市| 宜阳县| 黄浦区| 紫云| 富川| 崇文区| 平江县| 合肥市| 玛多县| 吴堡县| 荔波县| 涟水县| 垫江县| 泸西县| 洪江市| 西盟| 榆社县| 南漳县| 门头沟区| 乌什县| 大丰市| 濮阳市| 浦江县| 武宣县| 措美县|