Cron
是Linux、BSD等Unix类型操作系统中的自动任务调度程序。Cron用于按计划的时间间隔(每分钟、每小时、每天、每周或者每月)自动执行脚本或命令。可以自动在后台执行脚本任务,实现对系统必要的维护或者执行一些重复性的操作。
Cron Jobs可以用来做什么?
Cron作业用途广泛,例如:
系统维护
:自动化系统备份,更新软件包或清理临时文件。
服务器管理
:监视服务器运行状况、重新启动服务和管理日志循环。
网站管理
:运行脚本来更新网站内容,生成报告或执行数据库备份。
数据自动化
:在服务器之间同步文件,收集数据或发送自动电子邮件。
自定义警报
:通知用户特定事件或情况,如服务器停机或安全警报。
Cron Job是如何工作的?
Cron作业依赖于cron守护进程,这是一个后台服务,用于检查计划任务并在指定时间执行它们。可以使用crontab命令(“cron table”的缩写)创建cron作业。调度任务的语法涉及五个时间字段,后跟要执行的命令。
比如下面是要在每天凌晨2点运行脚本的配置:
0 2 * * * /path/to/your/script.sh
使用命令:crontab -l
可以列出Cron任务。
使用命令:crontab -e
可以对任务进行编辑。
显然,这种通过手动配置的方式,比较繁琐,并且容易错误。
下面,推荐一些开源cron可视化管理器,这些管理器不需要太多的命令行配置,大大方便了Cron的任务管理。
一、Cronicle
https://github.com/jhuckaby/Cronicle
Cronicle是一个多服务器任务调度器器,提供基于Web的前端UI。它可以针对任意数量的服务器处理按计划、重复或者按需执行作业,并提供实时数据统计和实时日志查看功能。它是一个用Node.js编写的Cron替代品。你可以给它简单的shell命令,或者用几乎任何语言编写插件。
功能特征:
单服务器或多服务器设置。
自动故障切换到备份服务器。
自动发现附近的服务器。
使用实时日志查看器查看实时作业状态。
插件可以用任何语言编写。
在多个时区安排活动。
可选地,将长时间运行的事件排队。
跟踪每个作业的CPU和内存使用情况。
带有性能图表的历史统计数据。
插件的简单JSON消息传递系统。
用于外部通知系统的Web挂钩。
用于调度和运行事件的简单REST API。
用于验证远程应用的API密钥。
二、Crontab UI
https://github.com/alseambusher/crontab-ui
Crontab UI提供了一个简单易用的cron作业管理方案。使用Crontab UI图形界面可轻松管理Corn,设置非常简单,可以轻松导入现有的crontab条目。该工具简化了添加、删除或暂停作业的过程,使维护数百个任务变得更加安全和容易。它还支持备份crontab,并允许在不同的机器上导出和部署。
支持错误日志,以便于快速调试出现的问题,支持邮件和事件集成,可以随时通知管理员作业状态或触发其他操作。这些功能使Crontab UI不仅方便,而且对于自动化复杂的计划也是可靠的。
三、CronKeep
https://github.com/cronkeep/cronkeep
CronKeep是一个基于Web的crontab管理工具,它使团队能够查看cron的任务,根据需要运行作业任务,以人性化的方式添加新的cron作业,或者暂停cron计划,并且不需系统管理员级别就可以访问。
功能特征:
按需运行cron作业
以简单的方式添加新作业
Cron作业调度
更改或删除现有作业
需要最少的设置(无数据库依赖)
(素材来源官方媒体/网络新闻)
原创 zone7 andflow