Linux中实现定时任务详解

一、at命令

1.at服务

  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
  service atd start //启动服务
  service atd stop //关闭服务
  service atd restart //重启服务
  service atd reload //重新载入配置
  service atd status //查看服务状态

2.at在配置文件:

at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。

3.参数详解

at [-V] [-q x] [-f file] [-mldbv] time
at -c job …
atq [-V] [-q x]
atrm [-V] job …

-V : 印出版本编号

-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c… z 以及 A, B, … Z 共 52 个

-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者

-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入 网络应用

-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定

at命令执行流程

  # at 2:05 tomorrow
  at>/home/kyle/do_job
  at> Ctrl+D
  AT Time中的时间表示方法
  ———————————————————————–

时间 命令 解释
Minute at now + 5 minutes 任务在5分钟后运行
Hour at now + 1 hour 任务在1小时后运行
Days at now + 3 days 任务在3天后运行
Weeks at now + 2 weeks 任务在两周后运行
Fixed at midnight 任务在午夜运行
Fixed at 10:30pm 任务在晚上10点30分
Fixed at 23:59 12/31/2018 任务在2018年12月31号23点59分
4.使用示例:
[root@foundation79 ~]# at 16:00                在16:00时执行
at> touch /mnt/file{
  1..3 }
at> <EOT>                
job 1 at Fri Apr 27 16:00:00 2018
[root@foundation79 ~]# at -l                   查看定时任务
1 Fri Apr 27 16:00:00 2018 a root
[root@localhost spool]# at -l 2            后面添加任务号查询具体定时任务
2   Tue May 22 16:00:00 2018 a root

查看2号任务详细信息(脚本)

[root@localhost ~]# at -c 2      #或者直接在/var/spool/at/下查看生成定时文件内容
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
LC_PAPER=en_US.utf8; export LC_PAPER
XDG_SESSION_ID=3; export XDG_SESSION_ID
HOSTNAME=localhost; export HOSTNAME
LC_MONETARY=en_US.utf8; export LC_MONETARY
SHELL=/bin/bash; export SHELL
HISTSIZE=1000; export HISTSIZE
SSH_CLIENT=172.25.254.79\ 37931\ 22; export SSH_CLIENT
LC_NUMERIC=en_US.utf8; export LC_NUMERIC
SSH_TTY=/dev/pts/0; export SSH_TTY
USER=root; export USER
LS_COLORS=rs=0:di=38\;5\;27:ln=38\;5\;51:mh=44\;38\;5\;15:pi=40\;38\;5\;11:so=38\;5\;13:do=38\;5\;5:bd=48\;5\;232\;38\;5\;11:cd=48\;5\;232\;38\;5\;3:or=48\;5\;232\;38\;5\;9:mi=05\;48\;5\;232\;38\;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值