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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux结束所有任务命令行,Linux基础命令(15)定时任务

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

釋放雙眼,帶上耳機,聽聽看~!

crontad

Linux定時任務Crontab命令詳解

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由于使用者自己也可以設置計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。

Linux crontab是用來定期執行程序的命令。

當安裝完成操作系統之后,默認便會啟動此任務調度命令。

crond 命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。

注意:新創建的 cron 任務,不會馬上執行,至少要過 2 分鐘后才可以,當然你可以重啟 cron 來馬上執行。

而 linux 任務調度的工作主要分為以下兩類:

1、系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存,在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。

2、個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用戶自行設置

/etc/crontab文件包括下面幾行:

前三行是用來配置crond任務運行的環境變量,第一行SHELL變量指定了系統要使用哪個shell,這里是bash,第二行PATH變量指定了系統執行 命令的路徑,第三行MAILTO變量指定了crond的任務執行信息將通過電子郵件發送給root用戶,如果MAILTO變量的值為空,則表示不發送任務 執行信息給用戶,其他將在后續講到。

用戶所建立的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服務

安裝crontab:

yum install crontabs

服務操作說明:

service crond start //啟動服務

service crond stop //關閉服務

service crond restart //重啟服務

service crond reload //重新載入配置

service crond status //查看服務狀態

systemctl enable crond.service//設為開機自啟

crontab命令詳解

1.命令格式:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

2.命令功能:

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常設合周期性的日志分析或數據備份等工作。

3.命令參數:

-u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。

file:file是命令文件的名字,表示將file做為crontab的任務列表文件并載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,并將它們載入crontab。

-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件(可用于增加定時任務)。

-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。

-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。

-i:在刪除用戶的crontab文件時給確認提示。

實例

1.先用crontab -e編輯crond定時任務,增加“* * * * * ls>/root/test/11.txt”指的是每分鐘執行一次ls命令,并將輸出寫入/root/test/11.txt,然后保存退出,用service crond restart重啟crond服務讓任務即時生效,等一會兒看見多出11.txt文件,cat文件可以看出ls的內容。

2.每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分….執行 echo “haha”

20 0-23/2 * * * echo “haha”

3.下面再看看幾個具體的例子:

0 */2 * * * /sbin/service httpd restart 意思是每兩個小時重啟一次apache

50 7 * * * /sbin/service sshd start 意思是每天7:50開啟ssh服務

50 22 * * * /sbin/service sshd stop 意思是每天22:50關閉ssh服務

1 * * * * /home/bruce/backup 每小時的第一分執行 /home/bruce/backup這個文件

00 03 * * 1-5 find /home “*.xxx” -mtime +4 -exec rm {} \; 每周一至周五3點鐘,在目錄/home中,查找文件名為*.xxx的文件,并刪除4天前的文件。

30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30執行一次ls命令

腳本無法執行問題

如果我們使用 crontab 來定時執行腳本,無法執行,但是如果直接通過命令(如:./test.sh)又可以正常執行,這主要是因為無法讀取環境變量的原因。

解決方法:

1、所有命令需要寫成絕對路徑形式,如:?/usr/local/bin/docker。

2、在 shell 腳本開頭使用以下代碼:

#!/bin/sh

. /etc/profile

. ~/.bash_profile

3、在?/etc/crontab?中添加環境變量,在可執行命令之前添加命令?. /etc/profile;/bin/sh,使得好幾遍了生效

例如:20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh

at

前言:

at命令是一次性定時計劃任務,at的守護進程atd會以后臺模式運行,檢查作業隊列來運行作業。atd守護進程會檢查系統上的一個特殊目錄來獲取at命令的提交的作業,默認情況下,atd守護進程每60秒檢查一次目錄,有作業時,會檢查作業運行時間,如果時間與當前時間匹配,則運行此作業。

注意:at命令是一次性定時計劃任務,執行完一個任務后不再執行此任務了。

at命令格式

at?[選項]?[時間]

Ctrl?+?D??結束at命令的輸入

在使用at命令的時候,一定要保證atd進程的啟動。

[root@vms002?/]#?ps?-ef|grep?-v?grep|grep?atd

rpcuser????1550??????1??0?6月10?????????00:00:00?/usr/sbin/rpc.statd?–no-notify

root???????1552??????1??0?6月10?????????00:00:00?/usr/sbin/atd?-f

at命令參數

選項含義

-m當指定的任務被完成后,將給用戶發送郵件,即使沒有標準輸出

-Iatq的別名

-datrm的別名

-v顯示任務將被執行的時間

-c打印任務的內容到標準輸出

-V顯示版本信息

-q 使用指定的隊列

-f 從指定文件讀入任務而不是從標準輸入讀入

-t 以時間參數的形式提交要運行的任務

時間定義

at允許使用一套相當復雜的指定時間的方法:

● 能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那么就放在第二天執行。 例如:04:00

● 能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。

● 能夠采用12小時計時制,即在時間后面加上AM(上午)或PM(下午)來說明是上午還是下午。 例如:12pm

● 能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的后面。 例如:04:00 2009-03-1

● 能夠使用相對計時法。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,幾天,幾小時。 例如:now + 5 minutes 04pm + 3 days

● 能夠直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

相關命令

1.at:在特定的時間執行一次性的任務;

2.atq:列出用戶的計劃任務,如果是超級用戶將列出所有用戶的任務,結果的輸出格式為:作業號、日期、小時、隊列和用戶名;

3.atrm:根據job number刪除at任務;

4.batch:在系統負荷允許的情況下執行at任務,就是在系統空閑的情況下才執行at任務。

創建at任務

創建at任務方式有兩種,從文件輸入和從控制臺輸入。以下分別用兩種方式創建1分鐘后將當前時間寫入 home/result 文件的命令

1、從文件輸入

2、從命令行輸入

注意此處的是ctrl+d 按鍵結束

atq 和 atrm命令

atq查看at定時隊列命令,atrm刪除某個定時任務命令.

總結

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

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