如何在 Linux 中轻松安全地管理 Cron 作业

在 Linux 中安排任务时,您首先想到的是哪个实用程序? 大概, 克朗! cron 实用程序可帮助您在类 Unix 操作系统中的特定时间安排命令/任务。 我们已经发布了一个 Cron 作业的初学者指南. 我有几年的 Linux 经验,所以设置 cron 作业对我来说没什么大不了的。 但是,对于新手来说,这不是小菜一碟。 菜鸟在编辑纯文本 crontab 时可能会在不知不觉中犯下小错误并关闭所有 cron 作业。 以防万一,如果你认为你可能会搞砸你的 cron 工作,有一个很好的替代方法。 打招呼 crontab 用户界面,一个基于 Web 的工具,可轻松安全地管理 Linux 操作系统中的 cron 作业。

您无需手动编辑 crontab 文件即可创建、删除和管理 cron 作业。 只需点击几下鼠标,一切都可以通过网络浏览器完成。 Crontab UI 允许您轻松创建、编辑、暂停、删除、备份 cron 作业,还可以轻松地在其他机器上导入、导出和部署作业。 错误日志、邮件和挂钩支持也是可能的。 它是免费的,开源的,使用 节点JS.

安装 Crontab 用户界面

安装 Crontab UI 只是一个单行命令。 确保您已安装 NPM。 如果您还没有安装 npm,请参考以下链接。

  • 如何在 Linux 上安装 NodeJS

接下来,运行以下命令来安装 Crontab UI。

$ npm install -g crontab-ui

就是这么简单。 让我们继续看看如何使用 Crontab UI 管理 cron 作业。

在 Linux 中轻松安全地管理 Cron 作业

要启动 Crontab UI,只需运行:

$ crontab-ui

您将看到以下输出:

Node version: 10.8.0
Crontab UI is running at https://127.0.0.1:8000

现在,打开您的网络浏览器并导航到 https://127.0.0.1:8000. 确保防火墙/路由器中允许使用端口号 8000。

请注意,您只能在本地系统本身内访问 Crontab UI Web 仪表板。

如果您想使用系统的 IP 和自定义端口运行 Crontab UI(以便您可以从网络中的任何远程系统访问它),请改用以下命令:

$ HOST=0.0.0.0 PORT=9000 crontab-ui
Node version: 10.8.0
Crontab UI is running at https://0.0.0.0:9000

现在,可以使用 URL 从网络中的任何系统访问 Crontab UI – https://:9000.

这就是 Crontab UI 仪表板的样子。

Crontab UI 仪表板

正如您在上面的屏幕截图中看到的,Crontab UI 仪表板非常简单。 所有选项都是不言自明的。

要退出 Crontab UI,请按 CTRL+C.

创建、编辑、运行、停止、删除 cron 作业

要创建新的 cron 作业,请单击“新建”按钮。 Enter 您的 cron 作业详细信息,然后单击 Save.

  1. 命名 cron 作业。 它是可选的。
  2. 您要运行的完整命令。
  3. 选择计划时间。 您可以选择快速计划时间(例如启动、每小时、每天、每周、每月、每年)或设置运行命令的确切时间。 选择计划时间后,cron作业的语法将显示在 工作 场地。
  4. 选择是否要为特定作业启用错误日志记录。

这是我的示例 cron 作业。

创建一个新的 cron 作业

如您所见,我已经设置了一个 cron 作业来每月清除 pacman 缓存。

同样,您可以根据需要创建任意数量的工作。 您将在仪表板中看到所有 cron 作业。

crontab ui 仪表板 1

Crontab UI 仪表板中的 Cron 作业

如果您想更改 cron 作业中的任何参数,只需单击 编辑 cron 作业下方的按钮并根据需要修改参数。

要立即运行作业,请单击显示的按钮 . 要停止作业,请单击 停止 按钮。 您可以通过单击查看任何作业的日志详细信息 日志 按钮。 如果不再需要该作业,只需按 删除 按钮。

备份 cron 作业

要备份所有 cron 作业,请从主仪表板按备份,然后选择确定以确认备份。

备份 cron 作业

备份 cron 作业

您可以使用此备份,以防您弄乱了 crontab 文件的内容。

将 cron 作业导入/导出到其他系统

Crontab UI 的另一个显着特点是您可以将 cron 作业导入、导出和部署到其他系统。 如果您的网络上有多个系统需要相同的 cron 作业,只需按 出口 按钮并选择保存文件的位置。 crontab 文件的所有内容都将保存在一个名为 crontab.db.

这是 crontab.db 文件的内容。

$ cat Downloads/crontab.db 
{"name":"Remove Pacman Cache","command":"rm -rf /var/cache/pacman","schedule":"@monthly","stopped":false,"timestamp":"Thu Aug 23 2018 10:34:19 GMT+0000 (Coordinated Universal Time)","logging":"true","mailing":{},"created":1535020459093,"_id":"lcVc1nSdaceqS1ut"}

然后您可以将整个 crontab.db 文件传输到其他系统并将其导入新系统。 您不需要在所有系统中手动创建 cron 作业。 只需在一个系统中创建它们,然后将它们全部导出和导入到网络上的每个系统。

从现有的 crontab 文件中获取内容或保存到现有的 crontab 文件中

您可能已经使用以下方法创建了一些 cron 作业 crontab 命令。 如果是这样,您可以通过单击来检索现有 crontab 文件的内容 “从 crontab 中获取” 主仪表板中的按钮。

从 crontab 获取 cron 工作

从 crontab 文件中检索 cron 作业

同样,您可以使用 Crontab UI 实用程序将新创建的作业保存到系统中现有的 crontab 文件中。 为此,只需单击 Save 到 crontab 仪表板中的选项。

卸载 Crontab 用户界面

如果您不喜欢或不再使用 Crontab UI,请使用以下命令将其删除:

$ npm uninstall -g crontab-ui

结论

使用 Crontab UI 管理 cron 作业并不复杂。 任何新手用户都可以在 Crontab UI 的帮助下轻松维护任意数量的作业,而无需太多麻烦。 试一试,并在下面的评论部分告诉我们您对此工具的看法。

资源:

相关阅读:

  • Zeit – Crontab 的 GUI 前端,用于在 Linux 中安排作业

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!