導航:首頁 > 操作系統 > linux周期任務

linux周期任務

發布時間:2022-06-14 00:59:07

1. linux的定時任務服務名是

Cron是Linux系統中以後台進程模式周期性執行命令或指定程序任務的服務軟體。默認情況下,安裝完Linux操作系統之後,Cron服務軟體便會啟動,服務對應的進程名字為Crond,Crond服務會定期(默認每分鍾檢查一次)檢查系統中是否有需要執行的任務工作計劃。如果有,則會根據其預先設定的定時任務規則自動執行該定時任務工作。這個Crond定時任務服務就相當於我們平時使用的鬧鍾(或手機鬧鍾)。《Linux就該這么學》
Linux系統下的定時任務軟體
嚴格地說,Linux系統下的定時任務軟體還真不少,例如,at、Cron和anacron等,下面分別來簡單介紹一下。
·at定時任務軟體(依賴於atd服務)適合於僅執行一次就結束的調度任務工作。例如,某天夜裡需要處理一個工作任務,僅僅是這一天的夜裡,對於這種突發性的工作任務,那就可以使用該軟體。要使得at這個軟體設定的配置生效,還需要提前啟動一個名為atd的服務才行,這個工具在工作中的使用需求很少,讀者簡單了解一下即可。
·Cron定時任務軟體依賴於Crond服務。正如前面所說,通過crontab命令可以配置周期性執行的定時任務工作計劃,例如,每五分鍾做一次伺服器時間同步。要使得crontab命令設定的配置生效,還需要事先啟動一個服務Crond才行。這個Cron工具(對應的crontab命令以及依賴的Crond服務)就是運維工程師在生產工作中最常使用的工具,請大家務必掌握。

2. linux如何設置定時任務

您好,方法
在設置之前我們需要先用systemctl status命令查看一下atd服務是否開啟,
接下來我們通過date命令來查看一下當前的時間,設置的定時任務時間是以系統時間為準的,
接下來我們通過at命令進行定時,at命令後面跟的是時分。
然後Linux系統會進入到任務創建的階段,我們輸入要執行的任務語句,
接下來我們按Ctrl+V組合鍵來終止當前的定時任務設置,
最後我們通過at命令後面跟一個l參數來查看當前已經存在的任務。

3. linux 周期性任務計劃問什麼執行不了啊

* * * * * 這種寫法可能有問題。你要告訴任務到底多久運行一次。
如每分鍾運行一次可以 60/1 * * * * *
如每小時的第一分鍾運行一次可以 1 24/1 * * *

如果還是不可以,可以測試是否是cron服務沒有啟動

4. linux 定時任務的方法有哪些

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

我們通過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把當天最敏感的日誌找出來形成一個電子郵件默認發給超級用戶。

5. linux的 周期性的 計劃任務 crontab -e 1 * * * * /bin/echo

你這個任務是每小時的01分時執行一次,周期是一小時,你確定等了一個小時了嗎?我猜你是想每分鍾執行一次,那應該是
crontab
-e
*/1
*
*
*
*
/bin/echo
hello
>>
/tmp/nimei

6. linux 計劃任務 每周的周一到周六二十三點執行一次應該怎麼寫

* 23 * * 1-6 root ls
每周的周一到周六二十三點以root執行ls命令

《Linux就該這樣學》
Linux計劃任務入門詳解 Linux操作系統定時任務系統 Cron 入門
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了,Cron服務提供以下幾種介面供大家使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令
crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
1、linux任務調度的工作主要分為以下兩類:
*系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
*個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
-u指定一個用戶,
-l列出某個用戶的任務計劃,
-r刪除某個用戶的任務,
-e編輯某個用戶的任務
3.cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
"*"代表取值范圍內的數字,
"/"代表"每",
"-"代表從某個數字到某個數字,
","分開幾個離散的數字
一、任務調度設置文件的寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個欄位代表的含義如下:
Minute 每個小時的第幾分鍾執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序
在這些欄位里,除了「Command」是每次都必須指定的欄位以外,其它欄位皆為可選欄位,可視需要決定。對於不指定的欄位,要用「*」來填補其位置。
舉例如下:
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令
30 5 * * * ls 指定每天的 5:30 執行ls命令
30 7 8 * * ls 指定每月8號的7:30分執行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令
30 6 * * 0 ls 指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[註:「,」用來連接多個不連續的時段]
25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令[註:「-」用來連接連續的時段]
*/15 * * * * ls 每15分鍾執行一次ls命令 [即每個小時的第0 15 30 45 60分鍾執行ls命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
二、新增調度任務
新增調度任務可用兩種方法:
1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務
四、刪除任務調度工作
crontab -r //刪除所有任務調度工作
五、任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如: 1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb

7. 在linux系統的root下如何設置user用戶的周期計劃任務

root用戶下可以直接 su user ,切換到 該用戶下

然後使用crontab -e 編輯該用戶的周期任務,如圖:

8. 如何在Linux中實現計劃任務

對於系統管理員而言,做系統備份是一個系統管理員非常重要的工作,但是每天重復的工作是一件非常繁瑣的工作,那有沒有一種方法可以讓系統每天每到固定的時間都自己做備份工作呢?答案是有的,那就是計劃任務,現在我們就來說說計劃任務是怎麼一回事,以及怎麼去實現它
一般來說計劃任務分兩種一次性計劃任務和周期性計劃任務
1, 一次性計劃任務:顧名思義一次性計劃任務就是在某一個時間點只執行一次的任務,例如像,下周一有約會需要提醒這樣只執行一次的任務,
命令at ,batsh實現一次性計劃任務
At的用法:at time
例如 at 10:29 就是指在10:29 分執行的任務

執行的結果如下

At 命令的時間格式非常靈活我們可以使用
At now+1min
At 11:54
At date 等在這里不再贅述
Batsh 命令是指在系統空閑時執行的一次性計劃任務,比如你有一件不太重要的任務需要執行,當重要的任務執行完才會執行
Batsh 的用法
Batsh 回車 然後輸入你要執行的任務

2, 周期性計劃任務 :周期性計劃任務指的是每隔一段時間就執行一次的任務,比如鬧鍾每天早上六點叫你起床 命令 cron
(1) 載入cron 模塊crond:crond是一種服務一般情況下crond是默認載入的但是也不排除有特出情況
Modprobe crond

(2) crond服務操作 survice crond {start|status|stop|restart}
start 啟動crond
status查看crond的運行狀態
stop 停止crond服務
restart 重啟crond服務
(3) crond的分類 :系統crond和用戶crond
系統crond 是系統運行所需要的crond服務 /etc/crontab
用戶crond使用戶定義的crond服務/var/spool/cron/USERNAME
(4) cron 的書寫格式 min hour day month week command
共六段 第一段min 指分鍾,第二段hour指小時,第三段day指天,第四段mouth指月份,第五段week指周,第六段command指你要執行的命令例如
10 1 * * 7 ls –l /etc 指的是 每周末的一點10分執行ls –l /etc命令
在欄位中的*指在指定的時間域上所有的時間
—對應時間域上的連續取值時間 如1-10 1到10
,表示對應時間域上離散的時間取值如 1,10指的是1和10
/表示在對應時間域上每隔多久進行一次取值
如 1-10 1 * * 7 ls –l /etc指的是每周末的一點1-10分每分鍾執行ls –l /etc命令
1,10 1 * * 7 ls –l /etc指的是每周末的一點1分和10分時分別執行ls –l /etc命令
*/10 1 * * 7 ls –l /etc每周末的一點每隔10分鍾執行ls –l /etc命令

(5) 說了這么多那到底怎麼才能定義自己的計劃任務呢?
Crond –e 打開編輯文本然後輸入要定義計劃任務
如1,10 1 * * 7 ls –l /etc

保存並退出 一個計劃任務就做好了
我們來看看怎麼定義在每天晚上的凌晨把系統備份

管理員還可以為其他用戶定製計劃任務 使用 crontab –u username
Crontab –l 可以查看已經定義的計劃任務
Crontab –r 移除已將定義的計劃任務

(6) Crond 只能在Linux系統啟用的時候進行工作,當計劃任務所在的時間Linux系統處於不工作狀態那我們能不能在Linux啟動後的一段時間內將沒有做的計劃任務給補上呢?檔案是肯定的我們使用anacrond命令來是以這一功能
Anacron的命令格式 day min 說明信息 run-parts /etc/cron.daiy
Day 指過去多長時間沒有執行過命令 min 指啟動後多長時間執行
如 1 65 run-parts /etc/cron.daily 指一天沒有運行過時 啟動後65分鍾後執行任務計劃

9. linux定時執行任務的shell腳本怎麼寫

linux下使用crontab命令被用來提交和管理用戶的需要周期性執行的任務,示例如下:
crontab
-e
編輯周期任務
30
21
*
*
*
/etc/init.d/smb
restart
每晚的21:30重啟smb
crontab命令說明:
crontab命令被用來提交和管理用戶的需要周期性執行的任務,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鍾會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
選項
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。
參數
crontab文件:指定包含待執行任務的crontab文件。

10. linux定時任務

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

閱讀全文

與linux周期任務相關的資料

熱點內容
程序員上海與北京 瀏覽:404
安卓手機的動態照片為什麼卡 瀏覽:538
ad編譯集成庫時最常見的問題 瀏覽:845
matlab微分方程編程 瀏覽:700
安卓手機如何打開esp文件 瀏覽:545
什麼app能安裝應用 瀏覽:199
手機用什麼app看電視劇電影好 瀏覽:603
導入原理圖為什麼文件夾不顯示 瀏覽:653
androidapp風格 瀏覽:209
php取伺服器url地址 瀏覽:293
linux時間調度演算法 瀏覽:769
單片機最小電路詳解 瀏覽:185
請求要求命令 瀏覽:806
電腦文件夾發微信顯示被佔用 瀏覽:295
手機怎麼看加密視頻 瀏覽:206
怎樣解壓手機es文件包 瀏覽:661
2017年學什麼編程 瀏覽:935
金融期貨pdf 瀏覽:694
程序員客棧的信息保密嗎 瀏覽:507
編程顯示器什麼意思 瀏覽:147