目錄
- Linux篇
- 1.crontab 基本使用
- 2.開啟日志
- 3.設置定時執行任務
- 4.測試
- Windows篇
- 1.幫助文檔
- 2.查看系統默認任務
- 3.創建定時執行任務
- 4其它
Linux篇
Linux下創建定時執行任務可使用crontab,系統默認自帶crontab,在Ubuntu 16.04下進行演示說明。
1.crontab 基本使用
#/etc/init.d/cron status # 查看狀態
#/etc/init.d/cron start # 啟動crontab服務
#/etc/init.d/cron stop # 停止crontab服務
#/etc/init.d/cron reload # 重載定時任務
#crontab -l # 查看定時任務列表
2.開啟日志
需修改配置文件。
#sudo vim /etc/rsyslog.d/50-default.conf
...
cron.* /var/log/cron.log #將cron前面的注釋符去掉
...
重啟rsyslog:
#sudo service rsyslog restart
3.設置定時執行任務
本次演示定時執行自己寫的一個Python腳本,bash腳本或其它的應該也是類似。需要注意的是,最好指定腳本的絕對路徑,如果發現仍無法解決,可先切換到腳本路徑下執行。不過,應該是OK的。
... 0 0 * * * python /home/kdv/Desktop/sync-opensource/sync.py # 每天定時執行腳本
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 # 每周定時執行腳本
or
@weekly cd /home/kdv/Desktop/sync-opensource;python /home/kdv/Desktop/sync-opensource/sync.py
按需要設置每天or每周定時執行,更多請參考鏈接中的內容。
設置好任務之后,我們可以查看下任務列表,并需要重載任務。
#crontab -l # 可以查看我們添加的任務
#/etc/init.d/cron reload # 重載定時任務
#vim /var/log/cron.log # 查看定時任務產生的日志
4.測試
圖中是每5分鐘執行腳本為例進行測試。
左側:腳本在運行過程中,會生成以當前時間命名的日志文件,記錄腳本在執行過程中的輸出結果。
右側:crontab的日志文件,可以看到,每5分鐘,會定時執行一次腳本。
Windows篇
Windows系統沒有crontab命令,但是Windows系統有跟crontab命令比較接近的命令:schtasks 命令。在Win10上操作。
1.幫助文檔
使用如下命令查看schtasks的幫助文檔,以便更多的了解該命令。
C:\Users\Administrator>schtasks /?
SCHTASKS /parameter [arguments]
描述:
允許管理員創建、刪除、查詢、更改、運行和中止本地或遠程系統上的計劃任
務。
參數列表:
/Create 創建新計劃任務。
/Delete 刪除計劃任務。
/Query 顯示所有計劃任務。
/Change 更改計劃任務屬性。
/Run 按需運行計劃任務。
/End 中止當前正在運行的計劃任務。
/ShowSid 顯示與計劃的任務名稱相應的安全標識符。
/? 顯示此幫助消息。
Examples:
SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?
SCHTASKS /Query /?
SCHTASKS /Change /?
SCHTASKS /ShowSid /?
我們可以創建、查詢、更改和刪除任務等,如果對相應的子命令不熟悉的話,如創建命令,可使用SCHTASKS /Create /? 來進一步查看詳細的說明介紹。
2.查看系統默認任務
使用schtasks 命令,或帶query參數,schtasks /query查詢系統當前執行任務。
C:\Users\Administrator>schtasks
文件夾: \
任務名 下次運行時間 模式
======================================== ====================== ===============
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 就緒...
3.創建定時執行任務
命令行下鍵入schtasks /create /?,查看更為詳細的參數說明,僅列舉我們最為關心的幾個參數。
/TN taskname 以路徑\名稱形式指定對此計劃任務進行唯一標識的字符串。
/TR taskrun 指定在這個計劃時間運行的程序的路徑和文件名。
例如: C:\windows\system32\calc.exe
/SC schedule 指定計劃頻率。
==> 創建計劃任務“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 指定運行任務的開始時間。
時間格式為 HH:mm (24 小時時間),例如 14:30 表示2:30 PM。如果未指定 /ST,則默認值為當前時間。/SC ONCE 必需有此選項。
3.1創建任務
我們創建一個名為"sync-opensource
",定期執行某個bat腳本,在每天的11:30執行。創建該任務的命令如下。
schtasks /create /tn "sync-opensource" /tr "E:\PycharmProjects\opensource\sync.bat" /sc daily /st 11:30
4其它
4.1查找指定任務
如查找我們上面創建的sync-opensource任務。
C:\Users\Administrator>schtasks -query | find "sync-opensource"
sync-opensource 2019/9/2 11:30:00 就緒
4.2刪除任務
可以使用如下命令,刪除指定的任務。
schtasks /delete /tr taskname
總結
以上所述是小編給大家介紹的Linux Windows下設置定時執行任務的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!