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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux基础(九)--定时任务

發布時間:2023/12/19 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux基础(九)--定时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要介紹了Linux中定時任務的相關知識。


在日常中,有一些任務需要定時執行,例如:每天定時更新殺毒軟件的數據庫,每天定時執行數據清洗等腳本。這里就需要做定時任務。


(1)概述

在Linux中定時任務主要分為兩種:一次性任務和周期性任務。

一次性任務使用的命令是at和batch;

周期性任務使用的命令是vivex和cron。


(2)一次性定時任務

①命令at

②設置定時任務:at TIME

其中后面的TIME可以用準確時間和模糊時間。

例如:

? ?at now+3min ? ?at 11:30

? ?at noon,midnight,teatime(下午四點)

如圖,使用at now+3min,定時3分鐘后的任務:

如圖使用at命令后會出現at的提示符,只用輸入要執行的命令即可:

在輸入完要執行的命令后,按ctrl+D提交即可:

執行的結果將以郵件的形式返回給任務發起者。使用mail命令可以查看郵件。

這里我有很多定時任務的郵件,只需要鍵入相應的編號即可查看郵件

查看郵件完畢,鍵入q即可退出

③列出尚未執行的定時任務

at -l

④刪除尚未執行的定時任務

at -d #或者atrm #

④執行文件中的命令

at -f /PATH/TO/AT_SCRIPT TIME

例如:文本attest.txt文本如下

使用at -f指定文本文件中的命令執行時間

執行后結果如下:


(3)周期性定時任務

①概述

周期性定時任務常用crond來使用,這是一個daemon。常用的命令是crontab。它主要分為系統cron和用戶cron。

其中系統cron在/etc/crontab中。如下圖:

用戶cron在/var/spool/cron/USERNAME中:

②crontab命令

1.運行者身份

(1)系統cron:在配置文件中指定

一共7個字段,如 3 4 * * * root cat /etc/fstab。中間用空格分隔,前面對應完后6個空格對應完后,剩下的空格統一歸為最后一個字段的命令。

其中每個字段分別表示:分鐘 小時 在月中的日(1-31) ?月(1-12) ?星期 ?用戶 ?命令。

(2)用戶cron: 6個字段,與系統cron相比,無需指定用戶身份。

①命令crontab

? ?使用crontab后會出現類似文本編輯的頁面,只需要編輯相應的定時命令即可。

②選項:

? ?-e:定義; ? ?-r:移除配置文件,會刪除所有任務; ? ?-l:列出周期性任務。

? ?-u USERNAME:以其他用戶身份定義。例如:crontab -e -u hadoop

(3)通配符:

*:相應時間點的所有有效取值

,:離散取值, ?3,33 ****root date

/:定義指定取值范圍內的頻率, ?*/3 * * * *:每3分鐘

-:連續取值:8-20/3 ?13 8-20/3 * * *


2.PATH

cron默認路徑: /bin;/sbin;/usr/bin;/usr/sbin ?如果是命令:使用絕對路徑

?如果是腳本:在腳本中自行定義PATH=


3.如何拒收郵件: ?方法一: ? ?MAILTO='' ?方法二:

? ?&> /dev/null


4.小例子:

?3 18 * * 2,5: 每周2和周5的18點3分 ?7 2 */2 * *:每兩天的2點7分

?2,32 8-18/3 * * 1-5:星期1到5的8到18點中每3個小時的2分和32分


5.以秒為單位執行任務計劃

方法一:* * * * * /usr/bin/unison webdata* * * * * sleep 30 & /usr/bin/unison webdata

方法二:每隔15秒:* * * * * for i in 0 1 2; do some_job && sleep 15; done; some_job

每隔10秒:* * * * * for i in {1..5}; do some_job && sleep 10; done; some_job


6.注意事項

使用%時要加反斜線。

②在RHEL5有anacron,這是對cron的補充。

他會尋找過去沒執行的任務找一個合適的時間點執行。例如,用戶定時每天凌晨3點更新殺毒軟件庫,但2點關機,因此任務不會執行。這樣anacron會在下一次開機后找一個合適的時間執行。而RHEL6cronie本身就有這個功能。


轉載于:https://blog.51cto.com/xlows/1390619

總結

以上是生活随笔為你收集整理的Linux基础(九)--定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

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