Linux任务计划

本文介绍了Linux系统中的计划任务,包括一次性任务的at命令和周期性任务的crontab命令。at命令用于设定只执行一次的任务,支持多种时间格式,并通过atq和atrm命令查看和删除任务。crontab则用于设置周期性任务,其时间表达式灵活,任务存储在用户目录的crontab文件中。文章还提到了anacron,用于处理系统不常开机时的定时任务。
摘要由CSDN通过智能技术生成

这里写图片描述

  计划任务是为了提高生产效率,减少失误操作的重要工具。也是我们需要掌握的必不可少的技术。在各个系统平台上都有类似的计划任务功能,相信大家都对Windows的计划任务更加熟悉一点。本文就是要和大家一起学习在Linux系统中如何制定计划任务和具体的操作。

Linux中计划任务主要分为两类:
1、一次性的任务计划:只执行一次就结束—at命令
2、周期性的任务计划:每隔一定的周期去做相同的事情—crontab命令

at

at命令是由atd服务提供的,atd服务的启动方法如下:

CentOS 6

service atd start

CentOS 7

systemctl start atd.service

at命令格式

at [option] TIME
       -v:显示版本信息
       -l:at -l相当于atq命令,列出指定队列中等待运行的进程
       -d:后面跟进程号,删除指定的进程,相当于atrm命令
       -c:查看具体进程
       -f:从指定的文件中读取进程任务,路径是/path/from/somefile
       -m:当任务完成之后,将给用户发送邮件。即使没有标准输出

注意:进程执行命令的结果中的标准输出和错误以邮件通知给相关用户

TIME:定义什么时候执行at中的进程任务

HH:MM (如 23:40)
  HH代表小时(0-23),MM代表(0-59),表示当日的HH:MM时刻执行进程,如果该时刻已经超出,则明天该时刻执行此进程。

HH:MM YYYY-MM-DD (如 11:40 2018-11-11)
  设置在某年某月某日某一时刻执行进程任务。

HH:MM[am|pm] [Month] [DATE] (如 08am April 27 或 18:30 tomorrow)
  设置某月某日某一时刻执行进程任务。

HH:MM[am|pm] + number[minutes|hours|days|weeks]
  在指定的某一时刻之后一段时间执行进程任务
  如 now + 5 minutes 或 23:00 + 2 days

示例:

在23点显示time:23:00

[root@CentOS7 ~]$at 23:00
at> echo "time:23:00"
at> <EOT>
job 6 at Sun Aug 27 23:00:00 2017

注意:设置好进程任务,按ctrl+d退出,完成设置

设置好计划进程后,可以通过 at -l或者 atq 命令查看at当前的进程队列中有哪些进程任务

[root@CentOS7 ~]$atq
1       Sun Aug 27 23:00:00 2017 a root
2       Sun Aug 27 23:30:00 2017 a root

也可以通过at -c n(n是任务编号)命令查看at队列中指定任务编号进程任务的内容:

[root@CentOS7 ~]$at -c 1
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
XDG_SESSION_ID=2; export XDG_SESSION_ID
HOSTNAME=CentOS7.ghy; export HOSTNAME
SELINUX_ROLE_REQUESTED=; export SELINUX_ROLE_REQUESTED
SHELL=/bin/bash; export SHELL
HISTSIZE=1000; export HISTSIZE
SSH_CLIENT=192.168.15.1\ 54079\ 22; export SSH_CLIENT
SELINUX_USE_CURRENT_RANGE=; export SELINUX_USE_CURRENT_RANGE
SSH_TTY=/dev/pts/0; export SSH_TTY
USER=root; export USER
LS_COLORS=rs=0:di=01\;34:ln=01\;36:mh=00:pi=40\;33:so=01\;35:do=01\;35:bd=40\;33\;01:cd=40\;33\;01:or=40\;31\;01:mi=01\;05\;37\;41:su=37\;41:sg=30\;43:ca=30\;41:tw=30\;42:ow=34\;42:st=37\;44:ex=01\;32:\*.tar=01\;31:\*.tgz=01\;31:\*.arc=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lha=01<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值