目錄
- Linux篇
- 1.crontab 基本使用
- 2.開啟日志
- 3.設(shè)置定時執(zhí)行任務(wù)
- 4.測試
- Windows篇
- 1.幫助文檔
- 2.查看系統(tǒng)默認(rèn)任務(wù)
- 3.創(chuàng)建定時執(zhí)行任務(wù)
- 4其它
- 4.1查找指定任務(wù)
- 4.2刪除任務(wù)
Linux篇
Linux下創(chuàng)建定時執(zhí)行任務(wù)可使用crontab,系統(tǒng)默認(rèn)自帶crontab,在Ubuntu 16.04下進(jìn)行演示說明。
1.crontab 基本使用
#/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ù)列表
2.開啟日志
需修改配置文件。
#sudo vim /etc/rsyslog.d/50-default.conf
...
cron.* /var/log/cron.log #將cron前面的注釋符去掉
...
重啟rsyslog:
#sudo service rsyslog restart
3.設(shè)置定時執(zhí)行任務(wù)
本次演示定時執(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)生的日志
4.測試
圖中是每5分鐘執(zhí)行腳本為例進(jìn)行測試。
左側(cè):腳本在運(yùn)行過程中,會生成以當(dāng)前時間命名的日志文件,記錄腳本在執(zhí)行過程中的輸出結(jié)果。
右側(cè):crontab的日志文件,可以看到,每5分鐘,會定時執(zhí)行一次腳本。
Windows篇
Windows系統(tǒng)沒有crontab命令,但是Windows系統(tǒng)有跟crontab命令比較接近的命令:schtasks 命令。在Win10上操作。
1.幫助文檔
使用如下命令查看schtasks的幫助文檔,以便更多的了解該命令。
C:\Users\Administrator>schtasks /?
SCHTASKS /parameter [arguments]
描述:
允許管理員創(chuàng)建、刪除、查詢、更改、運(yùn)行和中止本地或遠(yuǎn)程系統(tǒng)上的計(jì)劃任
務(wù)。
參數(shù)列表:
/Create 創(chuàng)建新計(jì)劃任務(wù)。
/Delete 刪除計(jì)劃任務(wù)。
/Query 顯示所有計(jì)劃任務(wù)。
/Change 更改計(jì)劃任務(wù)屬性。
/Run 按需運(yùn)行計(jì)劃任務(wù)。
/End 中止當(dāng)前正在運(yùn)行的計(jì)劃任務(wù)。
/ShowSid 顯示與計(jì)劃的任務(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 /? 來進(jìn)一步查看詳細(xì)的說明介紹。
2.查看系統(tǒng)默認(rèn)任務(wù)
使用schtasks 命令,或帶query參數(shù),schtasks /query查詢系統(tǒng)當(dāng)前執(zhí)行任務(wù)。
C:\Users\Administrator>schtasks
文件夾: \
任務(wù)名 下次運(yùn)行時間 模式
======================================== ====================== ===============
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.創(chuàng)建定時執(zhí)行任務(wù)
命令行下鍵入schtasks /create /?,查看更為詳細(xì)的參數(shù)說明,僅列舉我們最為關(guān)心的幾個參數(shù)。
/TN taskname 以路徑\名稱形式指定對此計(jì)劃任務(wù)進(jìn)行唯一標(biāo)識的字符串。
/TR taskrun 指定在這個計(jì)劃時間運(yùn)行的程序的路徑和文件名。
例如: C:\windows\system32\calc.exe
/SC schedule 指定計(jì)劃頻率。
==> 創(chuàng)建計(jì)劃任務(wù)“EventLog”以開始運(yùn)行 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 指定運(yùn)行任務(wù)的開始時間。
時間格式為 HH:mm (24 小時時間),例如 14:30 表示2:30 PM。如果未指定 /ST,則默認(rèn)值為當(dāng)前時間。/SC ONCE 必需有此選項(xiàng)。
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
4其它
4.1查找指定任務(wù)
如查找我們上面創(chuàng)建的sync-opensource任務(wù)。
C:\Users\Administrator>schtasks -query | find "sync-opensource"
sync-opensource 2019/9/2 11:30:00 就緒
4.2刪除任務(wù)
可以使用如下命令,刪除指定的任務(wù)。
schtasks /delete /tr taskname
總結(jié)
以上所述是小編給大家介紹的Linux Windows下設(shè)置定時執(zhí)行任務(wù)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!