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

歡迎訪問 生活随笔!

生活随笔

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

linux

计划任务文件 linux,Linux之任务计划

發布時間:2025/3/12 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计划任务文件 linux,Linux之任务计划 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、單次任務計劃

二、周期性任務計劃

一、單次任務計劃

命令:

batch:系統空閑時自動執行,不常用

at:可以使用相對時間、絕對時間或模糊時間,例如

相對時間:at now+3min,表示3分鐘后執行

絕對時間:at 11:30,表示在11:30執行

模糊時間:at noon | midnight | teatime,表示在對應模糊時間執行

------------------------------------------

at常用選項:

-l:查看等待執行的任務,同atq

-d: 刪除未執行的任務,同atrm

-f:指定腳本文件

------------------------------------------

1、使用at計劃任務[root@TESTHOST?SPECS]#?at?now+3min????#3分鐘后執行的任務

at>?cat?/etc/passwd????#任務1

at>?cat?/etc/shadow????#任務2

at>?date????#任務3

at>?ls?/scripts/????#任務4

at>?????#結束Ctrl+d提交任務

job?3?at?2015-04-24?08:20

You?have?mail?in?/var/spool/mail/root????#執行結果以郵件方式發送給任務發起者

2、查看郵件,使用命令mail[root@TESTHOST?SPECS]#?mail????#使用mail命令查看郵件

Heirloom?Mail?version?12.4?7/29/08.??Type???for?help.

"/var/spool/mail/root":?3?messages????#下列信息最前面的數字1為郵件編號

>???1?root??????????????????Fri?Apr?24?08:17??61/2298??"Output?from?your?job????????"

2?root??????????????????Fri?Apr?24?08:18??15/524???"Output?from?your?job????????"

3?root??????????????????Fri?Apr?24?08:20??62/2327??"Output?from?your?job????????"

&?1????#提示符&后輸入郵件編號,查看任務執行結果

Message??1:

From?root@TESTHOST.localdomain??Fri?Apr?24?08:17:14?2015

Return-Path:?

X-Original-To:?root

Delivered-To:?root@TESTHOST.localdomain

Subject:?Output?from?your?job????????1

To:?root@TESTHOST.localdomain

Date:?Fri,?24?Apr?2015?08:17:14?+0800?(CST)

From:?root@TESTHOST.localdomain?(root)

Status:?RO

#信息太多,這里略去

##################################################

New?mail?has?arrived.????#提示有新郵件到達

Loaded?1?new?message

N??4?root??????????????????Fri?Apr?24?19:29??31/571???"Output?from?your?job????????"

&?q????#輸入q回車,退出mail

Held?4?messages?in?/var/spool/mail/root????#告訴root用戶有4條信息

[root@TESTHOST?SPECS]#

3、查看等待執行的任務,使用命令at -l或atq[root@TESTHOST?SPECS]#?at?-l

62015-04-24?19:41?a?root????#數字6為任務編號

[root@TESTHOST?SPECS]#?atq

62015-04-24?19:41?a?root

4、刪除未執行的任務,使用命令at –d或atrm[root@TESTHOST?SPECS]#?at?now+3min????#新建一個任務計劃

at>?ls?/var

at>?

job?7?at?2015-04-24?19:48

[root@TESTHOST?SPECS]#?at?-l????#查看待執行任務,任務編號為7

72015-04-24?19:48?a?root

[root@TESTHOST?SPECS]#?date????#查看當前系統時間

Fri?Apr?24?19:45:44?CST?2015

[root@TESTHOST?SPECS]#?at?-d?7????#刪除未執行的任務,at?-d?#任務編號

[root@TESTHOST?SPECS]#?at?-l????#任務已刪除

5、計劃執行腳本,使用命令at –f /path/to/scriptfile TIME

注:使用at命令,Ctrl+d提交任務出現如下提示,則證明計劃任務依賴的atd服務未啟動Can't?open?/var/run/atd.pid?to?signal?atd.?No?atd?running?

查看atd服務狀態,并啟動[root@TESTHOST?SPECS]#?/etc/init.d/atd?status????#查看服務狀態

atd?is?stopped

[root@TESTHOST?SPECS]#?/etc/init.d/atd?start????#啟用服務

Starting?atd:??????????????????????????????????????????????[??OK??]

[root@TESTHOST?SPECS]#?/etc/init.d/atd?status????#服務已運行

atd?(pid??34529)?is?running...

二、周期性任務計劃

1、依賴服務:crond[root@TESTHOST?SPECS]#?service?crond?status

crond?(pid??1222)?正在運行...

2、crond配置文件

2.1、 系統crond配置文件及格式:/etc/crontab[root@TESTHOST?~]#?cat?/etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root????#任務執行結果發送郵件給用戶

HOME=/

#?For?details?see?man?4?crontabs

#?Example?of?job?definition:

#?.----------------?minute?(0?-?59)

#?|??.-------------?hour?(0?-?23)

#?|??|??.----------?day?of?month?(1?-?31)

#?|??|??|??.-------?month?(1?-?12)?OR?jan,feb,mar,apr?...

#?|??|??|??|??.----?day?of?week?(0?-?6)?(Sunday=0?or?7)?OR?sun,mon,tue,wed,thu,fri,sat

#?|??|??|??|??|

#?*??*??*??*??*?user-name?command?to?be?executed????#星號后分別接用戶、任務命令

2.2、用戶crond配置文件及格式:/var/spool/cron/USERNAME[root@TESTHOST?~]#?crontab?-e????#編輯當前用戶的crond配置文件

no?crontab?for?root?-?using?an?empty?one????#編輯后,保存退出,提示為root用戶新建crond配置文件

crontab:?installing?new?crontab

[root@TESTHOST?~]#?ls?/var/spool/cron/????#用戶crond配置文件,文件名同用戶名

root

[root@TESTHOST?~]#?cat?/var/spool/cron/root

#?Example?of?job?definition:

#?.----------------?minute?(0?-?59)

#?|??.-------------?hour?(0?-?23)

#?|??|??.----------?day?of?month?(1?-?31)

#?|??|??|??.-------?month?(1?-?12)?OR?jan,feb,mar,apr?...

#?|??|??|??|??.----?day?of?week?(0?-?6)?(Sunday=0?or?7)?OR?sun,mon,tue,wed,thu,fri,sat

#?|??|??|??|??|

#?*??*??*??*??*?command?to?be?executed????#星號后接任務命令

*/2?*?*?*?*??ls?/var

注:系統默認PATH=/bin:/sbin:/usr/bin:/usr/sbin,計劃任務中使用的命令不在系統默認PATH中時,則使用絕對路徑;使用腳本時,在腳本中自行定義PATH

2.3、配置文件周期格式含義

支持通配符:

*:相應時間點的所有有效取值,例如3?*?*?*?*????#每小時第3分

3?4?*?*?*?????#每天的4點03分

3?4?5?*?*????#每月5號的4點03分

0?0?*?*?*?[?$[($(date?+%s)/86400)%3]?-eq?0?]?&&?/usr/sbin/ntpdate?10.1.1.120?&>?/dev/null????#每3天執行一次時間同步

,:離散取值,例如3,15,27,39,51?*?*?*?*????#每12分鐘

/:定義指定取值范圍內的頻率,例如

*/2?*?*?*?*????#每2分鐘

17?*/3?*?*?*????#每3小時的第17分

-:連續取值,例如

17?8-20/3?*?*?*????#每天的8時-20時之間的每小時的第17分

以秒單位執行任務計劃:

方法1:

* * * * * sleep 30 && /usr/bin/unison webdata??? #每30秒

方法2:

* * * * * for i in 0 1 2; do some_job && sleep 15; done; some_job??? #每15秒,循環次數為(60/n-1)

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

注意:使用%時要加反斜線。例如:

1 2 3 * * touch ~/file_$(date +\%Y\%m\%d).txt

但使用單引號后也可以不再使用反斜線,例如:

1 2 3 * * touch ~/file_$(date '+%Y%m%d').txt

2.4、拒收郵件

方法1:配置文件中定義MAILTO=’’

方法2:將命令輸出信息重定向??? &> /dev/null或> /dev/null 2>&1??? #bash下,這兩個重定向等價

3、crontab命令

常用選項:

-e:編輯任務計劃

-r:移除配置文件,刪除部分任務計劃使用-e編輯

-l:列出周期性任務

-u USERNAME:??? #管理員可用的選項,可結合選項-e,-r,-l編輯、刪除、查看其他用戶的任務

博主的歸納總結質量都很高,文章的知識結構劃分更容易閱讀和理解,謝謝哈!

單擊圖片后放大查看

總結

以上是生活随笔為你收集整理的计划任务文件 linux,Linux之任务计划的全部內容,希望文章能夠幫你解決所遇到的問題。

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