Linux 系统可以通过crontab -e 设置定时任务,Windows系统没有crontab命令,但是Windows系统有跟crontab命令比较接近的命令: schtasks 命令。
# 设置定时任务
(每分钟执行一次):
(每天9:30执行)
具体参数说明参见:https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc772785(v=ws.10)#BKMK_syntax
常见问题:
1.手动执行bat文件运行正常,schtasks定时执行时报错。(通常是找不到相应的配置文件)
原因:
schtasks的默认起始路径为:C:WindowsSystem32
解决方法:
在定时执行的bat文件开头加几行命令,先进入存放配置文件的目录。如:
2.每天指定时间段(如:9:30--15:05)内每隔一分钟执行一次的定时任务A,在第二天不会自动执行
解决方法:
将任务A的创建语句写在CreateCronJob.bat 文件中,然后加一个定时任务B,并设置B每天9:29分运行一次 CreateCronJob.bat
创建任务A:schtasks /create /tn "SyncGpPoolData" /tr "D:pythonSyncGpPoolDatamonitor.bat" /f /sc minute /mo 1 /st 09:30 /et 15:30 /k
创建任务B:schtasks /create /tn "SyncGpPoolMonitor_930" /tr "D:pythonSyncGpPoolDataCreateCronJob.bat" /sc daily /st 09:30