Linux中cron的4种替代方案

Linuxcron系统是一个经过时间考验和成熟的技术。然而,它并不总是适合系统自动化的工具。有在那里,可以与使用结合一些其他的开源项目cron 或代替cron

Linux 下at命令

Cron用于长期重复,您安排了一个计划,它从现在开始定期运行,直到计算机退出。有时,您只想安排一个一次性命令在您碰巧不在计算机旁时运行。为此,您可以使用该at 命令。

at的语法 比cron 语法更简单和灵活,并且它具有交互式和非交互式调度方法(因此, 如果您真的想要,可以使用它at 来创建at作业。)

$ echo "rsync -av /home/tux/ me@myserver:/home/tux/" | at 1:30 AM

感觉很自然,易于使用,而且您不必清理旧作业,因为它们一旦运行就完全被遗忘了。

Systemd

除了管理计算机上的进程外,systemd还可以帮助您安排它们。与传统cron一样,systemd`定时器可以在指定的时间间隔触发事件,例如 shell 脚本和命令。这可以是每月特定日期的一天一次(然后,也许只有在星期一的时候),或者在 09:00 到 17:00 的工作时间内每 15 分钟一次。

定时器也可以做一些cron工作做不到的事情。

例如,计时器可以触发脚本或程序 事件发生_后_运行特定的时间量,例如引导、启动、完成先前的任务,甚至是由计时器本身调用的服务单元的先前完成!

如果您的系统运行systemd,那么您在技术上systemd已经在使用计时器。默认计时器执行一些琐碎的任务,例如轮换日志文件、更新 mlocate 数据库、管理 DNF 数据库等。创建自己的计时器很容易。

Anacron

Cron专门在特定时间运行命令。这适用于从不休眠或断电的服务器。尽管如此,笔记本电脑和台式工作站时不时地有意或无意地关闭计算机是很常见的。当计算机未开启时,cron不会运行,因此会跳过重要的作业(例如备份数据)。

anacron系统旨在确保作业定期运行,而不是按计划运行。这意味着您可以将计算机关闭几天,并在anacron重新启动时仍然指望运行基本任务。Anacron与 协同工作cron,因此严格来说它不是它的替代品,但它是一种有意义的调度任务的替代方式。许多系统管理员已将一项cron作业配置为深夜在远程工作者的计算机上备份数据,结果却发现该作业在过去六个月中仅运行过一次。 Anacron确保重要的工作发生的某个时候 ,当他们可以,而不是永远 ,当他们被安排。

参考Anacrony用法

Automation

计算机和技术旨在让生活更美好,工作更轻松。Linux 为其用户提供了许多有用的功能,以确保完成重要的操作系统任务。查看可用的功能,然后开始将这些功能用于您自己的任务。

Linux命令后台运行
Linux uptime - 您的系统运行了多长时间