Linux下創(chuàng)建定時執(zhí)行任務(wù)可使用crontab,系統(tǒng)默認(rèn)自帶crontab,在Ubuntu 16.04下進行演示說明。
為米易等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及米易網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、米易網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
#/etc/init.d/cron status # 查看狀態(tài) #/etc/init.d/cron start # 啟動crontab服務(wù) #/etc/init.d/cron stop # 停止crontab服務(wù) #/etc/init.d/cron reload # 重載定時任務(wù) #crontab -l # 查看定時任務(wù)列表
需修改配置文件。
#sudo vim /etc/rsyslog.d/50-default.conf ... cron.* /var/log/cron.log #將cron前面的注釋符去掉 ...
重啟rsyslog:
#sudo service rsyslog restart
本次演示定時執(zhí)行自己寫的一個Python腳本,bash腳本或其它的應(yīng)該也是類似。需要注意的是,最好指定腳本的絕對路徑,如果發(fā)現(xiàn)仍無法解決,可先切換到腳本路徑下執(zhí)行。不過,應(yīng)該是OK的。
... 0 0 * * * python /home/kdv/Desktop/sync-opensource/sync.py # 每天定時執(zhí)行腳本 or @daily cd /home/kdv/Desktop/sync-opensource;python /home/kdv/Desktop/sync-opensource/sync.py 0 0 1 * mon python /home/kdv/Desktop/sync-opensource/sync.py # 每周定時執(zhí)行腳本 or @weekly cd /home/kdv/Desktop/sync-opensource;python /home/kdv/Desktop/sync-opensource/sync.py
按需要設(shè)置每天or每周定時執(zhí)行,更多請參考鏈接中的內(nèi)容。
設(shè)置好任務(wù)之后,我們可以查看下任務(wù)列表,并需要重載任務(wù)。
#crontab -l # 可以查看我們添加的任務(wù) #/etc/init.d/cron reload # 重載定時任務(wù) #vim /var/log/cron.log # 查看定時任務(wù)產(chǎn)生的日志
圖中是每5分鐘執(zhí)行腳本為例進行測試。
左側(cè):腳本在運行過程中,會生成以當(dāng)前時間命名的日志文件,記錄腳本在執(zhí)行過程中的輸出結(jié)果。
右側(cè):crontab的日志文件,可以看到,每5分鐘,會定時執(zhí)行一次腳本。
Windows系統(tǒng)沒有crontab命令,但是Windows系統(tǒng)有跟crontab命令比較接近的命令:schtasks 命令。在Win10上操作。
使用如下命令查看schtasks的幫助文檔,以便更多的了解該命令。
C:\Users\Administrator>schtasks /? SCHTASKS /parameter [arguments] 描述: 允許管理員創(chuàng)建、刪除、查詢、更改、運行和中止本地或遠程系統(tǒng)上的計劃任 務(wù)。 參數(shù)列表: /Create 創(chuàng)建新計劃任務(wù)。 /Delete 刪除計劃任務(wù)。 /Query 顯示所有計劃任務(wù)。 /Change 更改計劃任務(wù)屬性。 /Run 按需運行計劃任務(wù)。 /End 中止當(dāng)前正在運行的計劃任務(wù)。 /ShowSid 顯示與計劃的任務(wù)名稱相應(yīng)的安全標(biāo)識符。 /? 顯示此幫助消息。 Examples: SCHTASKS SCHTASKS /? SCHTASKS /Run /? SCHTASKS /End /? SCHTASKS /Create /? SCHTASKS /Delete /? SCHTASKS /Query /? SCHTASKS /Change /? SCHTASKS /ShowSid /?
我們可以創(chuàng)建、查詢、更改和刪除任務(wù)等,如果對相應(yīng)的子命令不熟悉的話,如創(chuàng)建命令,可使用SCHTASKS /Create /? 來進一步查看詳細的說明介紹。
使用schtasks 命令,或帶query參數(shù),schtasks /query查詢系統(tǒng)當(dāng)前執(zhí)行任務(wù)。
C:\Users\Administrator>schtasks 文件夾: \ 任務(wù)名 下次運行時間 模式 ======================================== ====================== =============== Adobe Acrobat Update Task 2019/9/2 11:00:00 就緒 SogouImeMgr N/A 就緒 sync-opensource 2019/9/2 11:30:00 就緒 WpsUpdateTask_Administrator 2019/9/2 9:23:46 就緒...
命令行下鍵入schtasks /create /?,查看更為詳細的參數(shù)說明,僅列舉我們最為關(guān)心的幾個參數(shù)。
/TN taskname 以路徑\名稱形式指定對此計劃任務(wù)進行唯一標(biāo)識的字符串。 /TR taskrun 指定在這個計劃時間運行的程序的路徑和文件名。 例如: C:\windows\system32\calc.exe /SC schedule 指定計劃頻率。 ==> 創(chuàng)建計劃任務(wù)“EventLog”以開始運行 wevtvwr.msc SCHTASKS /Create /TN EventLog /TR wevtvwr.msc /SC ONEVENT 如每分鐘、每小時、每天、每星期 MINUTE: 1 到 1439 分鐘; HOURLY: 1 - 23 小時; DAILY: 1 到 365 天; WEEKLY: 1 到 52 周; /ST starttime 指定運行任務(wù)的開始時間。 時間格式為 HH:mm (24 小時時間),例如 14:30 表示2:30 PM。如果未指定 /ST,則默認(rèn)值為當(dāng)前時間。/SC ONCE 必需有此選項。
3.1創(chuàng)建任務(wù)
我們創(chuàng)建一個名為"sync-opensource
",定期執(zhí)行某個bat腳本,在每天的11:30執(zhí)行。創(chuàng)建該任務(wù)的命令如下。
schtasks /create /tn "sync-opensource" /tr "E:\PycharmProjects\opensource\sync.bat" /sc daily /st 11:30
如查找我們上面創(chuàng)建的sync-opensource任務(wù)。
C:\Users\Administrator>schtasks -query | find "sync-opensource" sync-opensource 2019/9/2 11:30:00 就緒
可以使用如下命令,刪除指定的任務(wù)。
schtasks /delete /tr taskname
總結(jié)
以上所述是小編給大家介紹的Linux Windows下設(shè)置定時執(zhí)行任務(wù)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!