# Crontab 的功能是什么
Crontab 是 Linux 的一个计划任务管理工具,你可以在那上面添加一些任务,在指定的时间让它在后台运行,经常用来定时清除系统或程序的缓存,可以定时执行任意的脚本等等,这些功能在 Linux 上都是非常有用的,尤其是当 Linux 做为服务器来用时。
# 为什么 Windows 上没有一个呢
已经有人做了,像python版的 pycron 和 Perl 版的 cronw,它们和 Linux 系统上的 Crontab 功能基本一致,它们会在 Windows 注册一个系统服务来定时运行计划任务。它们忽略了两个 Windows 用户的重要特性:
Windows 不是服务器,经常需要关机,关机后计划任务就无效了,那我定制它还有什么用
Windows 上不像 Linux 那样有很多强大的命令程序,想写个计划任务,确没有好的工具;自己写个工具,又不好管理
关于 Windows 上没有强大的命令程序:用户可以去安装一些工具,它会自带有很多 Linux 的命令程序,你只要将这些命令程序的目录写入你的环境变量 Path 中就行了,比如带有 Linux 命令程序的软件有 Git、Ruby 和 unxutils
## 功能简介
- 完全兼容 Linux 版的计划任务,格式:
分 时 日 月 周 命令
- 支持多行写法,如果命令太长,需要用多行完成,可以在换行的时候未尾加上 "",
- 记录任务运行日志、错误日志,日志文件可以自由配置
- 有一个专门管理自己脚本的文件夹,里面的脚本可以直接使用在计划任务的
命令
中,可以不带路径参数- 任务运行失败除了记录日志外,还可自动弹窗提醒用户,以防错过一些重要的命令
- 如果关机了,任务本来应该运行但没得到运行,可以在开机的自动运行这些错过的任务(需要对任务进行配置,默认是不会的)
## 安装
- 安装 JDK
- 下载 nircmd(它主要用来隐藏运行的命令界面),把它的可执行文件目录写入你的环境变量 path 中
- 将下载后的文件解压后放到你希望的一个目录下,比如我把它放在 E:\Python\Tools 文件夹上
- 修改 E:\Python\Tools\crontab-master\bin 下的三个 bat 文件,主要是修改里面的 bin 目录成你当前的 bin 目录
- 直接双击运行 crontab_install.bat(主要是在Windows上添加了一个计划任务),计划即启动完成。需要卸载的运行 crontab_uninstall.bat就行, crontab.bat 是一个用户脚本,可以用来查看自己的计划任务,查看它的下次运行时间,同时还可以强制运行一个指定的任务
## 使用方法:
配置 conf 目录下的 schedule.conf 配置文件
如果觉得每次配置都麻烦的话可以吧 schedule.conf 所在的路径添加到 path 环境里面, 然后以后配置的话直接在命令行里面直接输入 schedule.conf 就可以打开配置了
在 windows 里面使用命令为:
命令行:
crontab -l 列出当前所有的计划任务
crontab -r [id] 运行指定的 id 的计划任务, id 可以通过 crontab -l 查看
使用方法可参考
2. linux定时任务的设置 crontab 配置指南 的 第 7、8 条