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

本篇主要介绍如何在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下设置定时执行任务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • linux下定时执行任务的方法及crontab 用法说明(收集整理)

    linux下定时执行任务的方法 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron在3个地方查找配置文件: 1./var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的cron

  • Linux定时执行任务at和crontab命令详解

    Linux下的两种定时执行任务的方法:at命令,以及crontab服务,小编整理了关于这2个命令的详细用法,希望大家学习后能够更加深入的理解. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行.at类似打印 进程,会把任务放到/var/spool/at目录中,到指定时间运行它 .at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序.at now +

  • Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业.   service crond start    //启动服务   service crond stop     //

  • linux下用cron定时执行任务的方法

    名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除用户目前的crontab. crontab-c dir- 指定crontab的目录. crontab文件的格式

  • Linux环境使用crontab命令设置定时周期性执行任务【含php执行代码】

    本文实例讲述了Linux环境使用crontab命令设置定时周期性执行任务.分享给大家供大家参考,具体如下: 从linux帮助中查看crontab命令有以下参数: -u username:指定用户操作定时器 -e:编辑定时器(所有) -l:查看定时器 -r:删除定时器(从/var/spool/cron目录中删除某个用户的crontab文件,默认删除当前用户的) -i:删除定时器(删除之前给出确认提示) 使用场景1: 执行一些周期性统计的业务操作,例如每天凌晨0:00统计前一天所有业务员及各个小组的

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

    本篇主要介绍如何在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

  • Linux centos下设置定时备份任务的方法步骤

    实现准备 # 需要备份文件路径:/opt/apollo/logs/access_log [root@localhost opt]# cd apollo/ [root@localhost apollo]# tree . ├── logs │ └── access_log └── test.sh # 文件备份存放路径:/tmp/logs # 备份文件加上时间戳date + %Y%m%d%H%M%S 1.编写shell脚本 [root@localhost tmp]# vi /opt/apollo/te

  • 分别在Linux和Windows下设置JVM内存的简单方法

    Linux服务器: 在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh 添加:JAVA_OPTS='-Xms512m -Xmx1024m' 或者 JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m" 或者 CATALINA_OPTS="-server -Xms256m -Xmx300m" Windows服务器: 在/apache-tomcat-5.5.

  • windows下C#定时管理器框架Task.MainForm详解

    入住博客园4年多了,一直都是看别人的博客,学习别人的知识,为各个默默无私贡献自己技术总结的朋友们顶一个:这几天突然觉得是时候加入该队列中,贡献出自己微弱的力量,努力做到每个月有不同学习总结,知识学习的分享文章.以下要分享的是花了两天时间编写+测试的windows下C#定时管理器框架-Task.MainForm. 目的: 随着这五年在几个公司做不同职位的.net研发者,发现各个公司都或多或少会对接一些第三方合作的接口或者数据抓取功能,都是那种各个服务直接没有关联性功能,开发人员也可能不是一个人,使

  • 实现Windows下设置定时任务来运行python脚本

    1. 自己用python写了一个签到脚本 经过测试已经可以成功打卡,于是研究了一下windows定时运行程序 2. 创建定时任务 2.1 打开"控制面板 "–>"系统和安全"–>"管理工具"–>"计划任务" 如图 2.2 打开"计划任务",如图,点击"创建基本任务" 2.3 给定时任务命名,点击下一步 2.4 选择脚本执行的时间,以每天执行为例,如图,点击下一步 2.5

  • java执行windows下cmd命令的方法

    本文实例讲述了java执行windows下cmd命令的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: //获取运行时 Runtime rt = Runtime.getRuntime(); //获取进程 Process p = rt.exec(String[] cmdarray);//或者 Process p = rt.exec(String cmd); //如果p不为空,那么要清空 if(null!=p){destory p.destory(); p=null; } 例如

  • PHP实现定时执行任务的方法

    本文实例讲述了PHP实现定时执行任务的方法,代码简单实用.分享给大家供大家参考. 具体实现方法如下: ignore_user_abort(true); //客户端断开时忽略脚本中止(允许脚本一直执行) set_time_limit(0); //设置脚本最长执行时间,0不限制 do{ $handle = fopen('auto.txt', 'w'); if($fp) { $text = '你好\n\r'; $count = 0; for($i=1; $i<10; $i++) { if(! $c =

  • Windows下MySQL安装配置方法图文教程

    Windows下的安装与配置MySQL详细步骤思路,分享给大家,供大家参考,具体内容如下 本文介绍Windows XP下的安装与配置. 要想在Windows中运行MySQL,需要: Ø 32位Windows操作系统,例如9x.Me.NT.2000.XP或Windows Server 2003. 基于Windows NT的操作系统(NT,2000,XP,2003),将MySQL服务器做为服务来运行.强烈建议使用基于Windows NT的操作系统. Ø TCP/IP协议支持(也许是所有数据库系统的基

  • Windows下MySQL定时备份脚本的实现

    在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合.其中,MySQL数据库备份,起到关键作用是mysqldump.有关于mysqldump命令的用法,可以找MySQL的官方文档了解. 1 备份脚本 @echo off echo 设置MySql数据库的连接信息 set host=127.0.0.1 set port=3306 set user=root set pass=admin echo 设置要备份MySql数据库名称 set dbname

随机推荐