前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux |使用“at”命令在指定时间运行任务

Linux |使用“at”命令在指定时间运行任务

作者头像
数据科学工厂
发布2024-07-05 13:40:38
1050
发布2024-07-05 13:40:38
举报
文章被收录于专栏:数据科学(冷冻工厂)

引言

作为 cron 作业调度程序的替代方案,at 命令允许您安排命令在给定时间运行一次,而无需编辑配置文件。

实战

唯一的要求包括安装此实用程序并启动并启用其执行:

代码语言:javascript
复制
# yum install at              [on CentOS based systems]
$ sudo apt-get install at     [on Debian and derivatives]

接下来,在引导时启动并启用 at 服务。

代码语言:javascript
复制
--------- On SystemD ---------
# systemctl start atd
# systemctl enable atd

--------- On SysVinit ---------
# service atd start
# chkconfig --level 35 atd on

atd 运行后,您可以按如下方式安排任何命令或任务。我们希望在下一分钟开始时(即如果是 22:20:13,则该命令将在 22:21:00 执行)向 www.google.com 发送 4 个 ping 探测,并通过电子邮件报告结果(-m ,需要 Postfix 或同等版本)给调用该命令的用户:

代码语言:javascript
复制
# echo "ping -c 4 www.google.com" | at -m now + 1 minute

如果您选择不使用 -m 选项,则将执行该命令,但不会将任何内容打印到标准输出。但是,您可以选择将输出重定向到文件。

另外请注意,at 不仅允许以下固定时间:现在、中午(12:00)和午夜(00:00),还允许自定义 2 位数字(代表小时)和 4 位数字时间(小时和分钟)。

例如,要在今天晚上 11 点(如果当前日期晚于晚上 11 点,则明天)运行 updateb,请执行以下操作:

代码语言:javascript
复制
# echo "updatedb" | at -m 23

要在今天 23:55 关闭系统(适用与上一示例相同的条件):

代码语言:javascript
复制
# echo "shutdown -h now" | at -m 23:55

您还可以使用 + 号和所需的时间规范(如第一个示例中所示)将执行延迟分钟、小时、天、周、月或年。时间规范遵循 POSIX 标准。

总结

根据经验,只要您只想在明确定义的时间运行命令或执行给定任务一次,请使用 at 代替 cron 作业调度程序。对于其他场景,请使用 cron。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 实战
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档