定时任务

这里写目录标题

at命令

at 选项 参数
  选项:
-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:在特定的时间执行一次性的任务
● atq:列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果的输出格式为:作业号、日期、小时、队列和
用户名
● atrm:根据Job number删除at任务

  1. 启动服务
# /etc/init.d/atd start
  1. 1分钟后执行
# at now +1 minutes
at> echo "aaa"  #ctrl+D会直接退出
  1. 查看待处理作业
# atq
  1. 删除处理处理作业
# atrm 1
  1. 根据作业ID查看作业内容
# at -c  1

Crond命令

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

(1) 每一行定义一个周期性任务,共7个字段;
(2) * 分 * 时* 日* 月* 周: 定义周期性时间
user-name : 运行任务的用户身份
command to be executed:任务
(3) 此处的环境变量不同于用户登录后获得的环境,因此,建议命令使用绝对路径,或者自定义PATH环境变量;
(4) 执行结果邮件发送给MAILTO指定的用.

所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

  1. minute: 表示分钟,可以是从0到59之间的任何整数。 hour:表示小时,可以是从0到23之间的任何整数。
    day:表示日期,可以是从1到31之间的任何整数。 month:表示月份,可以是从1到12之间的任何整数。
    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日

  2. 时间表示法:
    (1)特定值;
    给定时间点有效取值范围内的值;
    注意:day of week和day of month一般不同时使用;
    (2) *
    给定时间点有效取值范围内的值;表“每…”
    (3) 离散取值:,
    在时间点上使用逗号分隔的多个值;
    #,#,#
    (4) 连续取值:-
    在时间点上使用-连接开头和结束
    #-#
    (5) 在指定时间点上,定义步长:
    /#:#即步长;

  3. 例子

(1) 3 * * * *:每小时执行一次;每小时的第3分钟;
(2) 3 4 * * 5:每周执行一次;每周5的4点3分;
(3) 5 6 7 * *:每月执行一次;每月的7号的6点5分;
(4) 7 8 9 10 *:每年执行一次;每年的10月9号8点7分;
(5) 9 8 * * 3,7:每周三和周日;
(6) 0 8,20 * * 3,7:每周三和周日的8点和20点
(7) 0 9-18 * * 1-5:每周一都周五的早九点到晚18点
(8) */5 * * * *:每5分钟执行一次某任务;
crond服务
安装crontab:yum install crontabs
服务操作说明:
# service crond start //启动服务
# service crond stop //关闭服务
# service crond restart //重启服务
# service crond reload //重新载入配置
# service crond status //启动服务

crontab [-u user] [-l | -r | -e] [-i]
-e:编辑任务;
-l:列出所有任务;
-r:移除所有任务;即删除/var/spool/cron/USERNAME文件;
-i:在使用-r选项移除所有任务时提示用户确认;
-u user:root用户可为指定用户管理cron任务;

例子

#实例1:每1分钟执行一次command
命令:
* * * * * command
#实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command
#实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command
#实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 */2 * * command
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值