linux定時任務,linux定時任務

時間 2021-10-14 20:30:26

1樓:匿名使用者

linux定時任務使用crontab命令

crontab命令說明

crontab命令被用來提交和管理使用者的需要週期性執行的任務,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

語法crontab(選項)(引數)

選項-e:編輯該使用者的計時器設定;

-l:列出該使用者的計時器設定;

-r:刪除該使用者的計時器設定;

-u《使用者名稱稱》:指定要設定計時器的使用者名稱稱。

引數crontab檔案:指定包含待執行任務的crontab檔案。

知識擴充套件

linux下的任務排程分為兩類:系統任務排程和使用者任務排程。

系統任務排程:系統週期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。在/etc目錄下有一個crontab檔案,這個就是系統任務排程的配置檔案。

/etc/crontab檔案包括下面幾行:

shell=/bin/bash

path=/sbin:/bin:/usr/sbin:/usr/bin

mailto=""home=/

# run-parts

51 * * * * root run-parts /etc/cron.hourly

24 7 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

前四行是用來配置crond任務執行的環境變數,第一行shell變數指定了系統要使用哪個shell,這裡是bash,第二行path變數指定了系統執行命令的路徑,第三行mailto變數指定了crond的任務執行資訊將通過電子郵件傳送給root使用者,如果mailto變數的值為空,則表示不傳送任務執行資訊給使用者,第四行的home變數指定了在執行命令或者指令碼時使用的主目錄。

使用者任務排程:使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來定製自己的計劃任務。

所有使用者定義的crontab檔案都被儲存在/var/spool/cron目錄中。其檔名與使用者名稱一致,使用者許可權檔案如下:

/etc/cron.deny 該檔案中所列使用者不允許使用crontab命令

/etc/cron.allow 該檔案中所列使用者允許使用crontab命令

/var/spool/cron/ 所有使用者crontab檔案存放的目錄,以使用者名稱命名

crontab檔案的含義:使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個欄位代表一項設定,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:

minute hour day month week command 順序:分 時 日 月 周

其中:minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。

command:要執行的命令,可以是系統命令,也可以是自己編寫的指令碼檔案。

在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9”

中槓(-):可以用整數之間的中槓表示一個整數範圍,例如“2-6”表示“2,3,4,5,6”

正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

crond服務

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

檢視crontab服務狀態:

service crond status

手動啟動crontab服務:

service crond start

檢視crontab服務是否已設定為開機啟動,執行命令:

ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

2樓:小小虐27攰

crontab命令選項基本只有對使用者操作的選項:

-u 指定一個使用者

-l 列出某個使用者的任務計劃

-r 刪除某個使用者的任務

-e 編輯某個使用者的任務

所以,要檢視所有使用者的,只能根據/etc/passwd檔案中的使用者名稱一一列舉了,可以用指令碼。

這樣可以麼?

3樓:百元新

為當前使用者建立cron服務

1. 鍵入 crontab -e 編輯crontab服務檔案

例如 檔案內容如下:

*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deletefile.sh

儲存檔案並並退出

*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deletefile.sh

*/2 * * * * 通過這段欄位可以設定什麼時候執行指令碼

/bin/sh /home/admin/jiaoben/buy/deletefile.sh 這一欄位可以設定你要執行的指令碼,這裡要注意一下bin/sh 是指執行 指令碼的命令 後面一段時指指令碼存放的路徑

2. 檢視該使用者下的crontab服務是否建立成功, 用 crontab -l 命令

3. 啟動crontab服務

一般啟動服務用 /sbin/service crond start 若是根使用者的cron服務可以用 sudo service crond start, 這裡還是要注意下不同版本linux系統啟動的服務的命令也不同 ,有些虛擬機器裡只需用 sudo service cron restart 即可,若是在根用下直接鍵入service cron start就能啟動服務

4. 檢視服務是否已經執行用 ps -ax | grep cron。

如何檢視linux系統的所有使用者的定時任務

4樓:我是一個麻瓜啊

crontab -l -u *** 列出***使用者的所有定時任務,如有沒有會提示 no crontab for ***

沒有直接檢視所有使用者的命令只能一

回個一個來答查。

cat /etc/passwd |cut -f 1 -d :

此命令列出所有使用者。系統學習linux,詳情參考《linux就該這麼學》。

5樓:匿名使用者

crontab命令選項基本只有對復

使用者制操作的選項:

-u 指定一個使用者

-l 列出某個

使用者的任務計劃

-r 刪除某個使用者的任務

-e 編輯某個使用者的任務

所以,要檢視所有使用者的,只能根據/etc/passwd檔案中的使用者名稱一一列舉了,可以用指令碼。

6樓:唐衛公

使用者的定時任務在/var/spool/cron/裡, 作為root去看就是:

cd /var/spool/cron

cat *

7樓:匿名使用者

for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done

8樓:為她愛你

cat /etc/passwd | cut -f 1 -d: | xargs -i {} crontab -l -u {} | grep -v "^#"

linux 定時任務的方法有哪些

9樓:coral小考拉

如果我們需要定時執行一些週期性重複性的任務,我們就會用到定時執行任務功能來幫我們自動執行每天、每週等週期性重複性的任務而不需要人為干預即可實現。

我們通過crontab –e來建立自己的定時任務,下圖中的5個*的含義是,第一個*是分,第二個*是小時,第三個*是日,第4個*是月,第5個*是周,第6列是命令,下圖的意思是給所有人發警告資訊hello,每隔一分鐘就傳送一次hello資訊。

我們可以通過crontab –l來檢視當前的已建立的定時任務,可以發現當前有一個定時任務,通過crontab –r刪除當前的定時任務,再次通過crontab –l去檢視是否還有定時任務,發現已經成功刪除了。

進入/etc目錄,檢視首字母為cron的目錄,cron*,*在這裡是萬用字元,匹配任意個字元,通過檢視/etc目錄下所有與定時任務相關的目錄和檔案。

通過cat crontab檢視定時任務的故事,包括shell的位置、路徑、預設郵件發給root賬戶、以及定時任務的格式,5個*的含義及第6列是寫具體的命令。

我們可以看看系統裡面的定時任務,有每小時執行的cron.hourly、每日執行的cron.daily、每月執行的cron.

monthly、每週執行的cron.weekly.我們通過命令ll cron.

daily可以看到裡面有很多可執行檔案,這些都是系統每天自動執行的定時任務。我們可以把自己建立的定時檔案放在系統已有的目錄下,比如每天的定時任務放在cron.daily下面。

系統常用的每天執行的定時任務,tmpwatch定時任務會去/tmp、/var/tmp臨時目錄下找超過10天的檔案並刪除,logrotate日誌檔案回滾,預設是一週回滾一次,1個月回滾4次,也就是日誌只儲存1個月,logwatch把當天最敏感的日誌找出來形成一個電子郵件預設發給超級使用者。

如何讓Linux定時任務crond以秒為單位執行

1 先寫排程指令碼ct.sh,在排程指令碼中執行實際需要執行的指令碼 bin bash step 2 間隔的秒數,不能大於60 for i 0 i 60 i i step do sleep step done搜尋 exit 0 2 建立crontab,呼叫ct.sh,每分鐘執行一次,這樣實際上就能達...

Oracle job定時任務,oracle寫一個定時執行的sql語句,JOB也行

job定時任務需要依託儲存過程。1 建立儲存過程 create or replace procedure myproc as begin insert into test values sysdate end 2 建立job variable job1 number begin dbms job.s...

如何在spring中配置定時任務

育知同創教育 在spring 中 基於註解的 定時 bai配置du很簡單,只需要三步哦,如下zhi 1 在類名前加 daocomponent註解,標記該bean,也回就是配置答掃描標記。2 在該類下的方法前加定是配置註解,schedule cron 0 30 3 新增配置檔案。關於spring定時任...