当前位置: 首页 > 科技观察

在Linux中安全轻松地管理Cron定时任务

时间:2023-03-22 00:32:54 科技观察

在Linux中遇到定时任务,你首先会想到的很可能是Cron定时任务。Cron定时任务可以帮助您计划在类Unix操作系统中执行命令或任务。也可以参考我们之前的文章《关于 Cron 定时任务的新手指导》。对于有一定Linux经验的人来说,设置Cron定时任务并不难,但对于新手来说,就不一定了。他们在编辑crontab文件时不知不觉犯的一些小错误,也可能会破坏整个Cron定时任务挂掉。如果你是处理Cron定时任务以防万一,可以试试CrontabUI,它是一个网页工具,可以在类Unix操作系统上安全方便地管理Cron定时任务。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.0CrontabUIisrunningathttp://127.0.0.1:8000FirstinOpenport在防火墙和路由器上设置8000,然后打开浏览器访问。注意,CrontabUI的控制台页面默认只能在本地访问。但是如果想让CrontabUI使用系统的IP地址和自定义端口,也就是想让其他机器也访问本地的CrontabUI,需要使用如下命令:$HOST=0.0.0.0PORT=9000crontab-uiNode版本:10.8.0CrontabUI运行在http://0.0.0.0:9000CrontabUI可以被远程机器通过像:9000这样的URL访问。CrontabUI的控制台页面是这样的:从上面的截图可以看出,CrontabUI的界面非常简单,所有选项的含义都是一目了然的。在终端中输入Ctrl+C以关闭CrontabUI。创建、编辑、运行、停止、删除Cron计划任务点击“新建”,输入cron计划任务信息,点击“保存”保存,即可创建新的cron计划任务。给cron作业起一个名字,这个名字是可选的;您要执行的完整命令;设置计划执行的时间。您可以根据启动、每小时、每天、每周、每月、每年等指标快速指定定时任务,也可以指定任务执行的具体时间。指定定时时间后,“Jobs”区域会显示Cron定时任务的语法。选择是否记录cron计划任务的错误日志。这是我的Cron定时任务的一个例子。如您所见,我设置了一个每月清除pacman缓存的cron作业。还可以设置多个Cron定时任务,都可以在控制台页面看到。如果您需要更改Cron定时任务中的一些参数,只需点击“编辑”按钮,根据您的需要更改相应的参数即可。点击“运行”按钮立即执行Cron定时任务,点击“停止”按钮立即停止Cron定时任务。如果你想查看一个Cron计划任务的详细日志,你可以点击“日志”按钮。对于不再需要的Cron计划任务,可以按“删除”按钮将其删除。备份Cron定时任务点击控制台页面的“备份”按钮,确认备份所有cron定时任务。备份后,一旦crontab文件出错,可以使用备份恢复。在其他机器上导入/导出Cron计划任务CrontabUI还有一个吸引眼球的功能,就是在其他机器上导入、导出和部署Cron计划任务。如果同一网络中的多台机器需要执行同一个cron定时任务,只需点击“导出”按钮并选择文件保存路径,所有cron定时任务就会导出到crontab.db文件中。以下是crontab.db文件的内容:$catDownloads/crontab.db{"name":"RemovePacmanCache","command":"rm-rf/var/cache/pacman","schedule":"@monthly","stopped":false,"timestamp":"2018年8月23日星期四10:34:19GMT+0000(协调世界时)","logging":"true","mailing":{},"created":1535020459093,"_id":"lcVc1nSdaceqS1ut"}导出为文件后,可以将这个crontab.db文件放在其他机器上,导入到一个Cron定时任务中,而不需要在每个主机Task上手动设置Cron定时。总之,在一台机器上设置好,导出,再导入到其他机器上,就完了。在Crontab文件中获取/保存Cron定时任务在使用CrontabUI之前,您可能已经使用crontab命令创建了cron定时任务。如果是这样,您可以单击控制台页面上的“从crontab获取”按钮来获取现有的cron作业。同样,你也可以使用CrontabUI将新建的cron计划任务保存到crontab文件中,只需点击“保存到crontab”按钮即可。管理Cron定时任务并没有想象中那么难,即使是新手也可以使用CrontabUI轻松管理Cron定时任务。立即尝试并分享您的想法。