Linux Windows下设置定时执行任务的方法
Linux篇
Linux下创建定时执行任务可使用crontab,系统默认自带crontab,在Ubuntu16.04下进行演示说明。
1.crontab基本使用
#/etc/init.d/cronstatus#查看状态 #/etc/init.d/cronstart#启动crontab服务 #/etc/init.d/cronstop#停止crontab服务 #/etc/init.d/cronreload#重载定时任务 #crontab-l#查看定时任务列表
2.开启日志
需修改配置文件。
#sudovim/etc/rsyslog.d/50-default.conf ... cron.*/var/log/cron.log#将cron前面的注释符去掉 ...
重启rsyslog:
#sudoservicersyslogrestart
3.设置定时执行任务
本次演示定时执行自己写的一个Python脚本,bash脚本或其它的应该也是类似。需要注意的是,最好指定脚本的绝对路径,如果发现仍无法解决,可先切换到脚本路径下执行。不过,应该是OK的。
...00***python/home/kdv/Desktop/sync-opensource/sync.py#每天定时执行脚本 or @dailycd/home/kdv/Desktop/sync-opensource;python/home/kdv/Desktop/sync-opensource/sync.py 001*monpython/home/kdv/Desktop/sync-opensource/sync.py#每周定时执行脚本 or @weeklycd/home/kdv/Desktop/sync-opensource;python/home/kdv/Desktop/sync-opensource/sync.py
按需要设置每天or每周定时执行,更多请参考链接中的内容。
设置好任务之后,我们可以查看下任务列表,并需要重载任务。
#crontab-l#可以查看我们添加的任务 #/etc/init.d/cronreload#重载定时任务 #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 文件夹:\ 任务名下次运行时间模式 ============================================================================= AdobeAcrobatUpdateTask2019/9/211:00:00就绪 SogouImeMgrN/A就绪 sync-opensource2019/9/211:30:00就绪 WpsUpdateTask_Administrator2019/9/29:23:46就绪...
3.创建定时执行任务
命令行下键入schtasks/create/?,查看更为详细的参数说明,仅列举我们最为关心的几个参数。
/TNtaskname以路径\名称形式指定对此计划任务进行唯一标识的字符串。 /TRtaskrun指定在这个计划时间运行的程序的路径和文件名。 例如:C:\windows\system32\calc.exe /SCschedule指定计划频率。 ==>创建计划任务“EventLog”以开始运行wevtvwr.msc SCHTASKS/Create/TNEventLog/TRwevtvwr.msc/SCONEVENT 如每分钟、每小时、每天、每星期 MINUTE:1到1439分钟; HOURLY:1-23小时; DAILY:1到365天; WEEKLY:1到52周; /STstarttime指定运行任务的开始时间。 时间格式为HH:mm(24小时时间),例如14:30表示2:30PM。如果未指定/ST,则默认值为当前时间。/SCONCE必需有此选项。
3.1创建任务
我们创建一个名为"sync-opensource",定期执行某个bat脚本,在每天的11:30执行。创建该任务的命令如下。
schtasks/create/tn"sync-opensource"/tr"E:\PycharmProjects\opensource\sync.bat"/scdaily/st11:30
4其它
4.1查找指定任务
如查找我们上面创建的sync-opensource任务。
C:\Users\Administrator>schtasks-query|find"sync-opensource" sync-opensource2019/9/211:30:00就绪
4.2删除任务
可以使用如下命令,删除指定的任务。
schtasks/delete/trtaskname
总结
以上所述是小编给大家介绍的LinuxWindows下设置定时执行任务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!