管理 crontab 的开源工具
创始人
2024-03-02 11:14:23
0

crontab-ui 是一个用 Node.js 编写的 Web 前端,帮助管理 crontab 文件。

自动化是目前的一个热门话题。在我作为网站可靠性工程师(SRE)的日常工作中,我的部分职责是将尽可能多的重复性任务自动化。但是,有多少人在我们的日常非工作生活中这样做呢?今年,我专注于将劳作自动化,以便我们可以专注于重要的事情。

作为一个初出茅庐的系统管理员,我最早了解的东西之一是 “cron”。cron 被广泛用于做一些事情,如轮换日志、启动和停止服务、运行程序作业等等。它在几乎所有的 Unix 和 Linux 系统中都可用,而且是我认识的每个系统管理员用来帮助管理服务和服务器的东西。cron 可以自动运行任何控制台应用或脚本,这使得它非常、非常灵活。

LCTT 译注:CRON 是 “Command Run On” 的缩写,即在某个时间运行命令。

Image of a Crontab

我用 cron 来获取电子邮件,运行过滤程序,确保服务正在运行,与 Habitica 等在线游戏互动等。

以传统方式使用 cron

要开始使用 cron,你可以简单地在命令行输入 crontab -e,启动一个打开了当前 crontab(“cron table” 的缩写)文件的编辑器(如果你以 root 身份这样做,你访问的是系统 crontab)。这是保存作业计划的地方,记录了何时运行。David Both 已经写了 大量 关于该文件的格式和如何使用它的文章,所以我不打算在这里介绍。我要说的是,对于新用户来说,这可能有点吓人,而且设置时间有点痛苦。

介绍 crontab-ui

有一些奇妙的工具可以帮助解决这个问题。我最喜欢的是 crontab-ui,这是一个用 Node.js 编写的 Web 前端,可以帮助管理 crontab 文件。为了安装和启动 crontab-ui 供个人使用,我使用了以下命令。

# 做个备份
crontab -l > $HOME/crontab-backup
# 安装 Crontab UI
npm install -g crontab-ui
# 创建本地数据库目录
mkdir $HOME/crontab-ui
# 启动 crontab-ui
CRON_DB_PATH=$HOME/crontab-ui crontab-ui

完成这些后,只需将你的网页浏览器指向 http://localhost:8000,你就会看到 crontab-ui 的网页界面。要做的第一件事是点击 “ 从 Crontab 获取 Get from Crontab ”,加载你可能有的任何现有作业。然后点击“ 备份 Backup ”,这样你就可以回滚你所做的任何修改。

Image of Crontab-UI

添加和编辑 cron 作业是非常简单的。添加一个名称,你想运行的完整命令,以及时间(使用 cron 语法),然后保存。另外,你还可以捕获日志,并设置将工作状态邮寄到你选择的电子邮箱。

完成后,点击 “ 保存到 Crontab Save to Crontab ”。

我个人非常喜欢它的日志记录功能。有了 crontab-ui,你可以通过点击一个按钮来查看日志,这在排除故障时非常有用。

我建议不要一直运行 crontab-ui,至少不要公开运行。虽然它确实具有一些基本的身份验证功能,但它不应该暴露在你的本地机器之外。我不需要经常编辑我的 cron 作业,所以我可以按需启动和停止它。

下次你需要编辑你的 crontab 时,可以试试 crontab-ui!

(题图由 FelixMittermeierPixabay 上发布)


via: https://opensource.com/article/22/5/cron-crontab-ui

作者:Kevin Sonney 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Bullseye升级--c...
在Bullseye中,systemd默认在用户级别下执行cron任...
2024-12-26 16:30:20
编写Python脚本将指定...
我们可以使用Python的subprocess module执行S...
2024-12-05 15:00:56
Bash脚本中的管道无法在...
使用绝对路径和重定向管道。在crontab中运行Bash脚本时,可...
2024-11-26 07:30:39
Bash根目录的cront...
要在Bash的根目录中创建一个挂起的cron脚本,可以在cront...
2024-11-25 21:32:46
Bash-当手动运行时Du...
这可能是因为环境变量问题。当使用 crontab 时,它使用的环境...
2024-11-25 14:31:24
版本冲突奇怪: 类型&#x...
这个错误是由于在项目中引用了两个不同版本的NCrontab库而导致...
2024-11-20 18:00:42

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...