联系方式 | 付款方式 | 关于我们
工单提交
安全退出
用户区

    Linux Windows下设置定时执行任务的方法
 

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下设置定时执行任务的方法,希望对大家有所帮助。




 


关于我们 - 付款方式 - 价格总览 - 服务中心 - 诚聘英才 - 网站地图 - 联系我们
总部电话: 400-679-9994
传真:400-679-9994
大客户咨询热线:400-679-9994客户服务中心(7×24): 400-679-9994
机房联系(7×24支持): 400-679-9994
售后服务 7×14 小时支持: 400-679-9994
版权所有:山东三二科技有限公司 2006-2011
网址: www.222.cc 
企业法人营业执照注册号: 400105000123815
网址:美国VPS www.222.cc
鲁ICP备12009357号-2