at命令不生效 linux_Linux的at命令

1. at命令介绍

当使用shell脚本时,你可能想在某个特定的时间运行shell脚本,Linux系统中提供了多个在特定时间运行shell脚本的方法,其中一种方法就是使用at命令。

at命令允许指定Linux系统何时运行脚本,at命令会将作业提交到队列中,指定shell何时运行该作业。at的守护进程atd会以后台模式运行,检查作业队列来运行作业。atd守护进程会检查系统上的一个特殊目录来获取at命令的提交的作业。默认情况下,atd守护进程每60秒检查一次目录。有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。

2. at命令的使用

at命令格式:at [-f filename] time,-f参数用来指定shell脚本名,time用来指定运行时间。

# 立即运行test13.sh脚本

# at命令会显示分配给作业的id和运行时间

$ at -f test13.sh now

job 1 at Sat Dec 17 23:26:09 2016

# atq命令可以查看系统中的等待作业

$ atq

1 Sat Dec 17 23:26:00 2016

2 Sat Dec 17 23:31:00 2016

3 Sat Dec 17 23:32:00 2016

# atrm命令可以删除系统中的等待作业,后面加上要删除的作业id

$ atrm 1

$ atq

2 Sat Dec 17 23:31:00 2016

3 Sat Dec 17 23:32:00 2016

4 Sat Dec 17 23:36:00 2016

5 Sat Dec 17 23:37:00 2016

3. at的执行时间设置

能够接受标准小时时间,hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如,13:12。

特定可命名时间,例如now,noon,teatime(一般是下午4点)等比较模糊的词语来指定时间。

AM/PM指示符,采用12小时计时制,例如 10:10 AM。

标准日期格式,MMDDYY,MM/DD/YY等,例如12/31/16。

时间增量,例如now+25 min,10:17+7天。

可以使用today、tomorrow来指定时间。

4. 注意事项

Mac的at命令默认的美国时间,重新加载com.apple.atrun.plist,终端操作:

sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist

sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist

参考文献

Linux命令行与shell脚本编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值