溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux定時(shí)任務(wù)的使用方法

發(fā)布時(shí)間:2020-07-28 14:26:41 來源:億速云 閱讀:157 作者:小豬 欄目:服務(wù)器

這篇文章主要講解了linux定時(shí)任務(wù)的使用方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

1、cron介紹

我們經(jīng)常使用的是 crontab 命令是cron table的簡寫,它是cron的配置文件,也可以叫它作業(yè)列表,我們可以在以下文件夾內(nèi)找到相關(guān)配置文件。

1.1、cron相關(guān)目錄

  • /var/spool/cron/ 目錄下存放的是每個(gè)用戶包括root的crontab任務(wù),每個(gè)任務(wù)以創(chuàng)建者的名字命名
  • /etc/crontab 這個(gè)文件負(fù)責(zé)調(diào)度各種管理和維護(hù)任務(wù)。
  • /etc/cron.d/ 這個(gè)目錄用來存放任何要執(zhí)行的crontab文件或腳本。
  • 我們還可以把腳本放在 /etc/cron.hourly、 /etc/cron.daily、 /etc/cron.weekly、 /etc/cron.monthly 目錄中,讓它每小時(shí)、每天、每個(gè)星期、每個(gè)月執(zhí)行一次。
     

1.2、crontab的常用命令

  • crontab [-u username]    //省略用戶表表示操作當(dāng)前用戶的crontab
  • crontab [-u username] -e   //編輯工作表 )
  • crontab [-u username] -l    //列出工作表里的命令 )
  • crontab [-u username] -r   //刪除工作作 )
     

1.3、編寫規(guī)范

1、相關(guān)每個(gè)位置的參數(shù)如下圖,另外還有備注詳情

linux定時(shí)任務(wù)的使用方法

備注:

1) * 表示任意的(分、時(shí)、日、月、周)時(shí)間都執(zhí)行

2) - 表示一個(gè)時(shí)間范圍段, 如5-7點(diǎn)

3) , 表示分隔時(shí)段, 如6,0,4表示周六、日、四

4) /1 表示每隔n單位時(shí)間, 如*/10 每10分鐘

2、設(shè)置定時(shí)任務(wù)

2.1、全局設(shè)置定時(shí)任務(wù) crontab ---任務(wù)是鏈接、curl或者寫入文件時(shí)

(1)執(zhí)行命令 crontab -e

linux定時(shí)任務(wù)的使用方法

(2)寫入定時(shí)任務(wù)

如果定時(shí)跑的任務(wù)是鏈接

*/1 * * * * /usr/local/curl(你自己的curl路徑) www.baidu.com >/dev/null 2>$1

如果需要內(nèi)容寫入文件中

*/1 * * * * echo "hello" >> abc.log

另外我還要普及下幾點(diǎn)

  • 標(biāo)準(zhǔn)輸入0 從鍵盤獲得輸入 /proc/self/fd/0
  • 標(biāo)準(zhǔn)輸出1 輸出到屏幕(即控制臺) /proc/self/fd/1
  • 錯(cuò)誤輸出2 輸出到屏幕(即控制臺) /proc/self/fd/2
  • /dev/null 代表linux的空設(shè)備文件,所有往這個(gè)文件里面寫入的內(nèi)容都會丟失,俗稱“黑洞”
  • >/dev/null 意思就是把錯(cuò)誤輸出到“黑洞”
  • >/dev/null 2>&1 默認(rèn)情況是1,也就是等同于 1>/dev/null 2>&1 。意思就是把標(biāo)準(zhǔn)輸出重定向到“黑洞”,還把錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)輸出1,也就是標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出都進(jìn)了“黑洞”
  • 2>&1 >/dev/null 意思就是把錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)出書1,也就是屏幕,標(biāo)準(zhǔn)輸出進(jìn)了“黑洞”,也就是標(biāo)準(zhǔn)輸出進(jìn)了黑洞,錯(cuò)誤輸出打印到屏幕
  • 關(guān)于這里”&”的作用,我們可以這么理解2>/dev/null重定向到文件,那么2>&1,這里如果去掉了&就是把錯(cuò)誤輸出給了文件1了,用了&是表明1是標(biāo)準(zhǔn)輸出。
     

(3)保存定時(shí)任務(wù)

  1. 按 i 進(jìn)行插入操作,寫入定時(shí)任務(wù)
  2. 按 Esc 退出并輸入 :wq ,再按 Ctrl + C即可保存成功。
     

2.2、.sh 方法實(shí)現(xiàn)

(1)創(chuàng)建Shell腳本

  • 在項(xiàng)目中創(chuàng)建一個(gè)以 .sh 后綴的文件
  • 在該目錄下給這個(gè)shell文件添加足夠的權(quán)限
     
chmod -R 777 你創(chuàng)建文件名

(2)將Shell腳本寫入定時(shí)任務(wù)中

將對應(yīng)的shell文件寫入定時(shí)任務(wù)

*/1 * * * * 你的.sh得文件絕對路徑 >/dev/null 2>$1

將對應(yīng)的shell文件執(zhí)行定時(shí)任務(wù)時(shí)寫入日志

*/1 * * * * 你的.sh得文件絕對路徑>> a.log >/dev/null 2>$1

(3)重啟crond

service crond restart

(4)查看是否寫入項(xiàng)目中

crontab -l

看完上述內(nèi)容,是不是對linux定時(shí)任務(wù)的使用方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI