Linux 用at和crontab排程作業

2021-09-06 10:46:23 字數 1533 閱讀 3508

1、突發性的,就是只執行作業一次而不是定期執行,使用at命令。

例如在程序a執行一段時間後關閉該程序。

2、定期執行,就是每隔一定的週期執行一次,使用crontab命令。

如每週一次的工作報告

執行at命令,必須要有atd這個服務,有些linux預設沒有啟動,

1、  啟動atd

#/etc/init.d/atd restart

#設定開機啟動atd服務

#chkconfig atd on

2、  at命令

#at [-mldv]time

引數:

-l :at –l ,列出目前系統上面的所有該使用者的at排程

-d:at –d 相當於atrm,可以取消乙個在at排程中的作業

time:時間格式

常用at now  + 70 minutes  

(定義現在過多少時間再進行工作)

3、  例子

場景:從現在開始30分鐘後殺死程序mail

具體操作:

#檢視程序id

#從現在開始30分鐘後殺死id為9009的程序

#檢視at排程列表

#上面的資訊說明。第8個at作業將在2012-11-3000:25 進行 

迴圈執行的作業排程是由crond這個系統服務來控制的。     

1、  crontab命令

# crontab [-l|-e|-r]

具體的部分引數說明如下:

- l 列出使用者目前的crontab

-e 編輯使用者目前的crontab

-r 刪除使用者目前的crontab

2、  crontab –e命令

執行該命令會進入vi的編輯介面,然後以乙個作業一行來編輯,編輯完之後輸入「:wq」儲存後離開vi就可以了。而每項作業(每行)的格式都是具有六個字段,這六個欄位的意義如下圖

代表意義 分鐘

小時 日期

月份 周

命令數字範圍

0-59

0-23

1-31

1-12

0-7要執行的命令

特殊輔助字元(見鳥哥私房菜p499)

3、  例子

如何在Linux中使用at和crontab命令

經驗豐富的系統運維工程師可以使得linux在無需人為介入的情況下,在指定的時間段自動啟用或停止某些服務或命令,從而實現運維的自動化。儘管我們現在已經有了功能彪悍的指令碼程式來執行一些批處理工作,但是,如果仍然需要在每天凌晨兩點敲擊鍵盤回車鍵來執行這個指令碼程式,這簡直太痛苦了 當然,也可以訓練您的小...

linux中crond服務與crontab用法詳解

sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbin service crond restart 重啟服務 sbin service crond reload 重新載入配置 1.首先切換到超級使用者模式,輸入以下命令 cron...

Linux下實現定時執行程式 crontab

在linux下,用crontab實現定時執行程式的功能。使用方式 crontab file u user 用指定的檔案替代目前的crontab。crontab u user 用標準輸入替代目前的crontab.crontab l user 列出使用者目前的crontab.crontab e user...