译者:HankChow
在Linux中遇见计划任务的时侯,你首先会想到的大约就是Cron定时任务了。Cron定时任务能帮助你在类Unix操作系统中计划性地执行命令或则任务。也可以参考一下我们之前的一篇《关于Cron定时任务的菜鸟指导》。对于有一定Linux经验的人来说linux 脚本定时执行,设置Cron定时任务不是哪些难事,但对于菜鸟来说就不一定了,她们在编辑crontab文件的时侯不知不觉中犯的一些小错误,也有可能把整个Cron定时任务搞挂了。假如你在处理Cron定时任务的时侯为了以防万一,可以尝试使用CrontabUI,它是一个可以在类Unix操作系统上安全轻松管理Cron定时任务的Web页面工具。
CrontabUI是使用NodeJS编撰的自由开源软件。有了CrontabUI,你在创建、删除和更改Cron定时任务的时侯就不须要手工编辑Crontab文件了,只须要打开浏览器稍稍操作一下,才能完成里面那些工作。你可以用CrontabUI轻松创建、编辑、暂停、删除、备份Cron定时任务,甚至还可以简单地做到导出、导出、部署其它机器上的Cron定时任务,它还支持错误日志、邮件发送和钩子。
安装CrontabUI
只须要一条命令就可以安装好CrontabUI,但前提是早已安装好NPM。若果还没有安装NPM,可以参考《如何在Linux上安装NodeJS》这篇文章。
执行这一条命令来安装CrontabUI。
$npminstall-gcrontab-ui
就是如此简单,下边继续来瞧瞧在CrontabUI上怎么管理Cron定时任务。
在Linux上安全轻松管理Cron定时任务
执行这一条命令启动CrontabUI:
$crontab-ui
你会看见这样的输出:
Nodeversion:10.8.0
CrontabUIisrunningat:8000
首先在你的防火墙和路由器上放开8000端口,之后打开浏览器访问。
注意,默认只有在本地能够访问到CrontabUI的控制台页面。但若果你想让CrontabUI使用系统的IP地址和自定义端口,也就是想让其它机器也访问到本地的CrontabUI,你须要使用以下这个命令:
$HOST=0.0.0.0PORT=9000crontab-ui
Nodeversion:10.8.0
CrontabUIisrunningat:9000
CrontabUI就能否通过:9000这样的URL被远程机器访问到了。
CrontabUI的控制台页面长这样:
从里面的截图就可以看见,CrontabUI的界面十分简约,所有选项的含意都能不言自明。
在终端输入Ctrl+C就可以关掉CrontabUI。
创建、编辑、运行、停止、删除Cron定时任务
点击“New”红旗linux官网,输入Cron定时任务的信息并点击“Save”保存,就可以创建一个新的Cron定时任务了。
为Cron定时任务命名,这是可选的;你想要执行的完整命令;设定计划执行的时间。你可以根据启动、每时、每日、每周、每月、每年这种指标快速指定计划任务,也可以明晰指定任务执行的具体时间。指定好计划时间后,“Jobs”区域都会显示Cron定时任务的句式。选择是否为某个Cron定时任务记录错误日志。
这是我的一个Cron定时任务样例。
如你所见,我设置了一个每月清除pacman缓存的Cron定时任务。你也可以设置多个Cron定时任务,都能在控制台页面见到。
假如你须要修改Cron定时任务中的个别参数,只须要点击“Edit”按钮并根据你的需求修改对应的参数。点击“Run”按钮可以立刻执行Cron定时任务,点击“Stop”则可以立刻停止Cron定时任务。假如想要查看某个Cron定时任务的详尽日志,可以点击“Log”按钮。对于不再须要的Cron定时任务,就可以按“Delete”按钮删掉。
备份Cron定时任务
点击控制台页面的“Backup”按钮并确认,就可以备份所有Cron定时任务。
备份以后,一旦Crontab文件出现了错误,就可以使用备份来恢复了。
导出/导入其它机器上的Cron定时任务
CrontabUI还有一个令人注目的功能,就是导出、导出、部署其它机器上的Cron定时任务。假如同一个网路里的多台机器都须要执行同样的Cron定时任务,只须要点击“Export”按钮并选择文件的保存路径linux文件系统,所有的Cron定时任务就会导入到crontab.db文件中。
以下是crontab.db文件的内容:
$catDownloads/crontab.db
{"name":"RemovePacmanCache","command":"rm-rf/var/cache/pacman","schedule":"@monthly","stopped":false,"timestamp":"ThuAug23201810:34:19GMT+0000(CoordinatedUniversalTime)","logging":"true","mailing":{},"created":93,"_id":"lcVc1nSdaceqS1ut"}
导入成文件之后,你就可以把这个crontab.db文件放置到其它机器上并导出成Cron定时任务,而不须要在每一台主机上自动设置Cron定时任务。其实,在一台机器上设置完,导入,再导出到其他机器linux 脚本定时执行,就完事了。
在Crontab文件获取/保存Cron定时任务
你可能在使用CrontabUI之前就早已使用crontab命令创建过Cron定时任务。假如是这样,你可以点击控制台页面上的“Getfromcrontab”按钮来获取已有的Cron定时任务。
同样地,你也可以使用CrontabUI来将新的Cron定时任务保存到Crontab文件中,只须要点击“Savetocrontab”按钮就可以了。
管理Cron定时任务并没有想像中这么难,虽然是菜鸟使用CrontabUI也能轻松管理Cron定时任务。快点开始尝试并发表一下你的想法吧。
via:
作者:SK选题:lujun9972译者:HankChow校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出