国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【運維】Linux定時任務(wù) 定時執(zhí)行腳本

這篇具有很好參考價值的文章主要介紹了【運維】Linux定時任務(wù) 定時執(zhí)行腳本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【運維】Linux定時任務(wù) 定時執(zhí)行腳本

在安裝完成操作系統(tǒng)后,默認(rèn)會安裝 crond 服務(wù)工具,且 crond 服務(wù)默認(rèn)就是自啟動的。crond 進(jìn)程每分鐘會定期檢查是否有要執(zhí)行的任務(wù),如果有,則會自動執(zhí)行該任務(wù)。

五分鐘執(zhí)行一次sh腳本

進(jìn)入編輯頁面

crontab -e

按Insert? ?進(jìn)行編輯

【運維】Linux定時任務(wù) 定時執(zhí)行腳本

?# 每兩分鐘執(zhí)行一次
*/2 * * * * /usr/local/start.sh

依次按 :wq 進(jìn)行保存? 即時生效

重啟

service crond restart

#設(shè)定crond服務(wù)為開機(jī)自啟動

chkconfig crond on

接下來,在介紹 crontab 命令。該命令和 at 命令類似,也是通過 /etc/cron.allow 和 /etc/cron.deny 文件來限制某些用戶是否可以使用 crontab 命令的。而且原則也非常相似:

  • 當(dāng)系統(tǒng)中有 /etc/cron.allow 文件時,只有寫入此文件的用戶可以使用 crontab 命令,沒有寫入的用戶不能使用 crontab 命令。同樣,如果有此文件,/etc/cron.deny 文件會被忽略,因為 /etc/cron.allow 文件的優(yōu)先級更高。
  • 當(dāng)系統(tǒng)中只有 /etc/cron.deny 文件時,寫入此文件的用戶不能使用 crontab 命令,沒有寫入文件的用戶可以使用 crontab 命令。
  • 這個規(guī)則基本和 at 命令的規(guī)則一致,同樣是 /etc/cron.allow 文件比 /etc/cron.deny 文件的優(yōu)先級高,Linux 系統(tǒng)中默認(rèn)只有 /etc/cron.deny 文件。


每個用戶都可以實現(xiàn)自己的 crontab 定時任務(wù),只需使用這個用戶身份執(zhí)行“crontab -e”命令即可。當(dāng)然,這個用戶不能寫入 /etc/cron.deny 文件。

crontab 命令的基本格式如下:

[root@localhost ~]# crontab [選項] [file]

注意,這里的 file 指的是命令文件的名字,表示將 file 作為 crontab 的任務(wù)列表文件并載入 crontab,若在命令行中未指定文件名,則此命令將接受標(biāo)準(zhǔn)輸入(鍵盤)上鍵入的命令,并將它們鍵入 crontab。

與此同時,表 1 羅列出了此命令常用的選項及功能。
?

表 1 crontab 命令常用選項及功能
選項 功能
-u user 用來設(shè)定某個用戶的 crontab 服務(wù),例如 "-u demo" 表示設(shè)備 demo
用戶的 crontab 服務(wù),此選項一般有 root 用戶來運行。
-e 編輯某個用戶的 crontab 文件內(nèi)容。如果不指定用戶,則表示編輯當(dāng)前用戶的 crontab 文件。
-l 顯示某用戶的 crontab 文件內(nèi)容,如果不指定用戶,則表示顯示當(dāng)前用戶的 crontab 文件內(nèi)容。
-r? 從 /var/spool/cron 刪除某用戶的 crontab 文件,如果不指定用戶,則默認(rèn)刪除當(dāng)前用戶的 crontab 文件。?
-i 在刪除用戶的 crontab 文件時,給確認(rèn)提示。


其實 crontab 定時任務(wù)非常簡單,只需執(zhí)行“crontab -e”命令,然后輸入想要定時執(zhí)行的任務(wù)即可。不過,當(dāng)我們執(zhí)行“crontab -e”命令時,打開的是一個空文件,而且操作方法和 Vim 是一致的。那么,這個文件的格式才是我們真正需要學(xué)習(xí)的內(nèi)容。文件格式如下:

[root@localhost !]# crontab -e
#進(jìn)入 crontab 編輯界面。會打開Vim編輯你的任務(wù)
* * * * * 執(zhí)行的任務(wù)

這個文件中是通過 5 個“*”來確定命令或任務(wù)的執(zhí)行時間的,這 5 個“*”的具體含義如表 2 所示。

表 2?crontab 時間表示
項目 含義 范圍
第一個"*" 一小時當(dāng)中的第幾分鐘(minute) 0~59
第二個"*" 一天當(dāng)中的第幾小時(hour) 0~23
第三個"*" 一個月當(dāng)中的第幾天(day) 1~31
第四個"*" 一年當(dāng)中的第幾個月(month) 1~12
第五個"*" 一周當(dāng)中的星期幾(week) 0~7(0和7都代表星期日)


在時間表示中,還有一些特殊符號需要學(xué)習(xí),如表 3 所示。
?

表 3?時間特殊符號
特殊符號 含義
*(星號) 代表任何時間。比如第一個"*"就代表一小時種每分鐘都執(zhí)行一次的意思。
,(逗號) 代表不連續(xù)的時間。比如"0 8,12,16***命令"就代表在每天的 8 點 0 分、12 點 0 分、16 點 0 分都執(zhí)行一次命令。
-(中杠) 代表連續(xù)的時間范圍。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨?5 點 0 分執(zhí)行命令。
/(正斜線) 代表每隔多久執(zhí)行一次。比如"*/10****命令",代表每隔 10 分鐘就執(zhí)行一次命令。


當(dāng)“crontab -e”編輯完成之后,一旦保存退出,那么這個定時任務(wù)實際就會寫入 /var/spool/cron/ 目錄中,每個用戶的定時任務(wù)用自己的用戶名進(jìn)行區(qū)分。而且 crontab 命令只要保存就會生效,只要 crond 服務(wù)是啟動的。知道了這 5 個時間字段的含義,我們多舉幾個時間的例子來熟悉一下時間字段,如表 4 所示。
?

表 4?crontab舉例
時間 含義
45 22 ***命令 在 22 點 45 分執(zhí)行命令
0 17 ** 1命令 在每周一的 17 點 0 分執(zhí)行命令
0 5 1,15**命令 在每月 1 日和 15 日的凌晨 5 點 0 分執(zhí)行命令
40 4 ** 1-5命令 在每周一到周五的凌晨 4 點 40 分執(zhí)行命令
*/10 4 ***命令 在每天的凌晨 4 點,每隔 10 分鐘執(zhí)行一次命令
0 0 1,15 * 1命令 在每月 1 日和 15 日,每周一個 0 點 0 分都會執(zhí)行命令,注意:星期幾和幾日最好不要同時出現(xiàn),因為它們定義的都是天,非常容易讓管理員混淆


現(xiàn)在我們已經(jīng)對這 5 個時間字段非常熟悉了,可是在“執(zhí)行的任務(wù)”字段中都可以寫什么呢?既可以定時執(zhí)行系統(tǒng)命令,也可以定時執(zhí)行某個 Shell 腳本,這里舉幾個實際的例子。

【例 1】讓系統(tǒng)每隔 5 分鐘就向 /tmp/test 文件中寫入一行“11”,驗證一下系統(tǒng)定時任務(wù)是否會執(zhí)行。

[root@localhost ~]# crontab -e
#進(jìn)入編輯界面
*/5 * * * * /bin/echo "11" >> /tmp/test

這個任務(wù)在時間工作中沒有任何意義,但是可以很簡單地驗證我們的定時任務(wù)是否可以正常執(zhí)行。如果覺得每隔 5 分鐘太長,那就換成“*”,讓它每分鐘執(zhí)行一次。而且和 at 命令一樣,如果我們定時執(zhí)行的是系統(tǒng)命令,那么最好使用絕對路徑。

【例 2】讓系統(tǒng)在每周二的凌晨 5 點 05 分重啟一次。

[root@localhost ~]# crontab -e
5.5 * * 2 /sbin/shutdown -r now

如果服務(wù)器的負(fù)載壓力比較大,則建議每周重啟一次,讓系統(tǒng)狀態(tài)歸零。比如絕大多數(shù)游戲服務(wù)器每周維護(hù)一次,維護(hù)時最主要的工作就是重啟,讓系統(tǒng)狀態(tài)歸零。這時可以讓我們的服務(wù)器自動來定時執(zhí)行。

【例 3】在每月 1 日、10 日、15 日的凌晨 3 點 30 分都定時執(zhí)行日志備份腳本 autobak.sh。

[root@localhost ~]# crontab -e
30.3 1,10,15 * * /root/sh/autobak.sh

這些定時任務(wù)保存之后,就可以在指定的時間執(zhí)行了。我們可以使用命令來查看和刪除定時任務(wù),命令如下:

[root@localhost ~]# crontab -l
#查看root用戶的crontab任務(wù)
*/5 * * * * /bin/echo "11" >> /tmp/test
5.5 * * 2 /sbin/shutdown -r now
30.3 1,10,15 * * /root/sh/autobak.sh
[root@localhost ~]# crontab -r
#刪除root用戶所有的定時任務(wù)。如果只想刪除某個定時任務(wù),則可以執(zhí)行“crontab -e”命令進(jìn)入
#編輯模式手工刪除
[root@localhost ~]# crontab -l
no crontab for root
#刪除后,再查詢就沒有root用戶的定時任務(wù)了


在書寫 crontab 定時任務(wù)時,需要注意以下幾個事項:文章來源地址http://www.zghlxwxcb.cn/news/detail-499824.html

  • 6 個選項都不能為空,必須填寫。如果不確定,則使用“*”代表任意時間。
  • crontab 定時任務(wù)的最小有效時間是分鐘,最大有效時間是月。像 2018 年某時執(zhí)行、3 點 30 分 30 秒這樣的時間都不能被識別。
  • 在定義時間時,日期和星期最好不要在一條定時任務(wù)中出現(xiàn),因為它們都以天為單位,非常容易讓管理員混淆。
  • 在定時任務(wù)中,不管是直接寫命令,還是在腳本中寫命令,最好都使用絕對路徑。有時使用相對路徑的命令會報錯。

到了這里,關(guān)于【運維】Linux定時任務(wù) 定時執(zhí)行腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • cron 定時任務(wù),啟動shell腳本,為什么沒有執(zhí)行

    Cron 定時任務(wù)不執(zhí)行時,可能有多種原因。下面是一些常見的問題及其解決方法: Cron 服務(wù)未運行 :首先確認(rèn)cron服務(wù)是否正在運行。在大多數(shù)Linux系統(tǒng)中,你可以使用以下命令查看cron服務(wù)的狀態(tài): Cron 表達(dá)式錯誤 :確保你的cron表達(dá)式是正確的。Cron表達(dá)式包括五個或六個字段

    2024年04月13日
    瀏覽(46)
  • Crontab(定時任務(wù))使用: Linux-Centos7使用crontab制定定時任務(wù),定時執(zhí)行某任務(wù)

    Crontab(定時任務(wù))使用: Linux-Centos7使用crontab制定定時任務(wù),定時執(zhí)行某任務(wù)

    參考:https://blog.csdn.net/m0_49605975/article/details/120701771 1.用yum命令安裝Crontab 2.啟動,關(guān)閉,重啟 3.設(shè)置開機(jī)啟動 1.設(shè)置定時任務(wù)-進(jìn)入編輯模式 -和vim操作一至 2.查看定時任務(wù)列表 3.添加定時任務(wù) 樣例: 添加一個定時任務(wù),定時清空某個文件夾里面日志文件的內(nèi)容 3.1 編寫一個清

    2024年02月01日
    瀏覽(45)
  • 【Linux 服務(wù)器運維】定時任務(wù) crontab 詳解 | 文末送書

    【Linux 服務(wù)器運維】定時任務(wù) crontab 詳解 | 文末送書

    本文思維導(dǎo)圖概述的主要內(nèi)容: 1.1 什么是 crontab Crontab 是一個在 Unix 和 Linux 操作系統(tǒng)上 用于定時執(zhí)行任務(wù) 的工具。它允許用戶創(chuàng)建和管理計劃任務(wù),以便在特定的時間間隔或時間點自動運行命令或腳本。Crontab 是 cron table 的縮寫, cron 指的是 Unix 系統(tǒng)中的一個后臺進(jìn)程,它

    2024年02月08日
    瀏覽(129)
  • linux-crontab每分鐘定時執(zhí)行/定時任務(wù)調(diào)度

    linux-crontab每分鐘定時執(zhí)行/定時任務(wù)調(diào)度

    本文講解linux上如何調(diào)用定時任務(wù),如每分鐘打印日志,每日24點執(zhí)行日志切割腳本等等。 在Linux系統(tǒng)中,crontab命令是一個用于執(zhí)行定時任務(wù)的命令, crond(crontab)是系統(tǒng)默認(rèn)自帶的定時服務(wù) 。我們可以通過編輯crontab文件來設(shè)置定時任務(wù),使系統(tǒng)可以自動按照設(shè)定的時間和頻率

    2024年02月06日
    瀏覽(38)
  • Linux下定時執(zhí)行shell腳本

    vi test.sh 錄入要執(zhí)行的命令 ?保存退出,并且對腳本進(jìn)行授權(quán) ?:wq chmod 777 test.sh ?生產(chǎn)文件data.txt touch /opt/data.txt ?vi /etc/crontab? 錄入: 一分鐘執(zhí)行一次 ?保存退出即可每個一分鐘執(zhí)行一次 配置說明:

    2024年02月17日
    瀏覽(26)
  • Linux Crontab定時執(zhí)行腳本不執(zhí)行,但手動執(zhí)行腳本正常原因及解決方案

    使用rsync作為備份工具,實現(xiàn)電子文件的增量備份,寫了一個腳本,在linux命令行調(diào)用 sh shell.sh進(jìn)行測試,成功實現(xiàn)了電子文件的備份功能,然后在Crontab增加了定時任務(wù),每天凌晨1點進(jìn)行同步。 后來發(fā)現(xiàn)文件同步失敗了,后來排查發(fā)現(xiàn)應(yīng)該是腳本雖然被執(zhí)行,但是沒有成功,

    2024年02月08日
    瀏覽(32)
  • Linux Crontab定時執(zhí)行腳本出錯,但手動執(zhí)行腳本正常原因及解決方案

    實際開發(fā)場景 需要開發(fā)一個Flink監(jiān)控程序,初步使用shell腳本進(jìn)行監(jiān)控,如果發(fā)現(xiàn)失敗了,則自動重新運行Flink命令行參數(shù)進(jìn)行重啟。 遇到的問題 編寫好shell腳本后,在linux命令行調(diào)用 sh shell.sh進(jìn)行測試,成功實現(xiàn)監(jiān)控和重啟功能。于是利用crontab對腳本進(jìn)行定時調(diào)度監(jiān)控。 后

    2024年02月15日
    瀏覽(31)
  • Linux服務(wù)器定時執(zhí)行腳本清理日志

    程序的日志不正確或者啟動腳本命令不正確,隨著程序的持續(xù)運行,日志文件越來越大,持續(xù)占用設(shè)備硬盤,如果定期手動清理日志又比較占用大腦CPU和內(nèi)存,如果忘了就是事故,所以寫一個定時執(zhí)行的腳本去清理日志很有必要。 清理日志有兩種方式,一種是清空文件,主要

    2024年02月05日
    瀏覽(18)
  • linux服務(wù)器ubuntu定時任務(wù)cron設(shè)置每秒執(zhí)行

    linux服務(wù)器ubuntu定時任務(wù)cron設(shè)置每秒執(zhí)行

    后端的同學(xué)經(jīng)常會遇到在服務(wù)器做一些定時腳本處理,比如定時清理日志,定時請求某個接口做特殊的業(yè)務(wù)處理,大多數(shù)linux版本都會帶cron服務(wù),以ubuntu服務(wù)器做個示例。 cron 是一個在 Unix-like 操作系統(tǒng)中用于定時執(zhí)行任務(wù)的工具。它是 “Chronos”(希臘語,意為時間)的縮寫

    2024年02月02日
    瀏覽(36)
  • Linux命令-batch命令(在系統(tǒng)不繁忙的時候執(zhí)行定時任務(wù))

    batch命令 用于在指定時間,當(dāng)系統(tǒng)不繁忙時執(zhí)行任務(wù),用法與at相似。 日期時間:指定任務(wù)執(zhí)行的日期時間。

    2024年02月22日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包