導航:首頁 > 程序命令 > linux定時執行命令

linux定時執行命令

發布時間:2023-02-23 21:09:19

linux怎樣在某一特定時間執行命令(使用at」

簡介

at定時任務,指定一個時間執行一個任務,只能執行一次。需要安裝at服務,apt-get install at;

創建at任務

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

1、從文件輸入

附錄

1、at時間定義

at允許使用一套相當復雜的指定時間的方法。
1)能夠接受在當天的hh:mm(小時:分鍾)式的時間指定。假如該時間已過去,那麼就放在第二天執行。例如:04:00
2)能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。
3)能夠採用12小時計時制,即在時間後面加上AM(上午)或PM(下午)來說明是上午還是下午。例如:12pm
4)能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的後面。例如:04:00 2009-03-1
5)能夠使用相對計時法。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鍾)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,幾天,幾小時。例如:now + 5 minutes 04pm + 3 days
6)能夠直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

⑵ Linux下定時任務(系統任務調度、用戶任務調度)crontab使用詳解

crond是Linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,在CentOS Linux release 7.2.1511中默認是開機啟動的,大家可以使用命令:systemctl status crond進行查看。 crond進程定期(每分鍾)檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。用戶在cron表
(也被稱為crontab文件)指定了定時任務,crontab也就是我們常見的定時任務設置命令。Linux下的任務調度分為兩類,系統任務調度和用戶任務調度。

系統任務調度 :系統周期性所要執行的工作,比如寫緩存數據到硬碟、日誌清理等。/etc/crontab文件就是系統任務調度的配置文件。

用戶任務調度 :用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定製自己的計劃任務。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。其文件名與用戶名一致,使用者許可權文件如下:

通過以上幫助信息,我們可以知道crond是執行任務計劃的一個守護進程。在使用crontab之前我們可以根據幫助信息來設置相關選項,一般情況下我們都使用默認值。

1.建立演示賬號crontab。

2.星號(*)使用舉例。

以上例子中完整演示了crontab從建立到執行的過程。「5 0 * * * echo "GeekDevOps"」表示在每天00:05執行命令:echo "GeekDevOps"。後面的星號表示只要前面條件滿足都執行。例子中的-u選項指定了用戶:crontab,-l選項列舉了相關用戶的用戶任務調度,不指定用戶則默認為root。執行結果默認寫入到用戶mail目錄下的相關文件中。

3.逗號(,)的使用舉例。

現在我們已經把用戶切換到crontab下,因此無需額外指定-u選項相關內容。「3 2,6,8 * * *」表示每天的02:03:00、06:03:00、08:03:00分別執行一次命令:ls /usr/local。

4.減號(-)的使用舉例。

例子中的「0 2-6 * * 6 df -h /」表示用戶crontab在每周六的02:00、03:00、04:00、05:00、06:00執行命令:df -h / 。

5.斜杠(/)的使用舉例。

例子中表示每隔2分鍾執行一次命令:echo "GeekDevOps">>/root/GeekDevOps.txt。

6.crontab的使用非常簡單,很容易理解,只要在取值范圍內設置執行的值基本是沒有問題的。現在我們要刪除已經設置的這些定時任務。

例子中,選項-r表示刪除所有定時任務。選項-i表示在刪除前進行再次確定,輸入y或者Y才能真正刪除。

7.備份我們設置的用戶任務調度配置文件。

8.系統任務調度的使用舉例。

系統任務調度與用戶任務調度不一樣,需要直接在/etc/crontab裡面配置,如果需要指定用戶,還需要在執行命令前指定用戶名。通過crontab -l 命令是查看不到系統任務調度任務的。

⑶ 19. Linux的at定時任務調度

與crond不同的是,at任務調度是一次性的,而crond是重復性的

1.1 at命令是一次性定時計劃任務,at的守護進程atd會以後台模式運行,檢查作業隊列來運行

1.2 默認情況下,atd守護進程每60s檢查作業隊列,有作業時,會檢查作業運行時間,如果時間與當前時間匹配,則運行此作業

1.3 at命令是一次性定時計劃任務,執行完一個任務後就不再執行這個任務了

1.4 在使用at命令的時候,一定要保證atd進程的啟動,可以使用相關指令查看

    ps -ef | grep atd 可以檢查atd是否在運行

at [選項] [時間]

按兩次 ctrl+d 結束at命令的輸入

4.1 當天的hh:mm(小時:分鍾),假如這個時間已經過去,那麼就第二天的這個時間執行。例如04:00

4.2 模糊的詞語,例如midnight、noon、teatime(下午茶時間,16:00左右)

4.3 採用12小時計時制,例如8am

4.4 指定執行命令的具體日期,格式為month dat(月 日)或者mm/dd/yy或者dd.mm.yy,指定的日期必須跟著寫在在指定時間的後面,例如:04:00 2021-3-1就是2021年3月1日凌晨4點整執行

4.5 相對計時法,指定格式為now + count time-units,now就是當前時間,time-units是時間單位,可以是minutes、hours、days、weeks。count是時間的數量,例如:now + 5 minutes

4.6 直接用today、tomorrow來指定完成命令的時間

5.1 2天後的下午5點,執行/bin/ls /home指令

at 5pm + 2 days 按回車鍵

然後寫下那個時刻要執行命令 /bin/ls /home

最後按兩次ctrl+d退出at指令

5.2 atq指令可以直接執行,查看系統中待執行的工作任務

5.3 明天17:00輸出時間到指定文件內 /root/date100.log

at 17:00 tomorrow 按回車鍵

date > /root/date100.log

按兩次ctrl+d退出at指令的輸入

5.4 2分鍾後

at now + 2 minutes

5.5 刪除已經設置的任務,atrm 編號

可以用atq列出待執行的任務,列出後第一列就是job編號

⑷ linux怎麼設置定時任務

在linux系統中我們可以修改定時執行的文件實現定時計劃,具體步驟如下。
1、查看定時執行的文件:命令:「crontab -l」,如同ll或者ls一樣,顯示定時任務列表信息,然後查看定時任務詳細信息,定時任務腳本前面的 * * * * *和數字意思解釋如下:從左到右,依次是:分、時、日、月、星期。
2、修改定時腳本裡面的執行內容,並查看定時腳本執行內容。
3、編輯定時執行計劃。這個方式和修改文件類似。使用命令:"crontab -e" ,e表示edit修改的意思。

閱讀全文

與linux定時執行命令相關的資料

熱點內容
android錄屏工具 瀏覽:838
成都互動直播系統源碼 瀏覽:953
usb藍牙android 瀏覽:405
伺服器顯示error1什麼意思 瀏覽:708
python代碼精簡 瀏覽:457
文件加密了怎麼找到了 瀏覽:193
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150