Linux 系统—第10章—计划任务

一.简介

作用:计划任务主要是周期性的任务。目前最主要的用途是定期备份数据。

分类:

==一次性调度执行==   

 Schedule one-time tasks with at. 

==循环调度执行 cron
 Schedule recurring jobs with cron. 

二.一次性调度执行 at

==语法格式==

at <TIMESPEC>

示例

now +5min      5分钟后

teatime tomorrow (teatime is 16:00)     下午茶时间

noon +4 days        第四天中午

5pm august 3 2029     2020年8月3日下午5点

4:00 2019-11-27    某年某月某日某时

==示例==

初始一次性执行计划

1.设置一个定时创建用户的任务

    [[email protected] ~]# at  now   +1min
    at> useradd uuuu 
    at> <EOT>

       CTRL+D输入完毕,提交任务

    job 1 at Sat Mar 21 22:34:00 2019

Linux 系统—第10章—计划任务

2.查询任务

命令:atq

Linux 系统—第10章—计划任务

3.检验结果

命令: id uuuu          查看用户id

三.循环调度执行cron

简介

cron的概念和crontab是不可分割的。

crontab是一个命令,常见于Unix和Linux的操作系统之中

用于设置周期性被执行的指令。

该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。

查看进程状态

[[email protected] ~]# systemctl status crond(.service)  一般可以省略括号内描述

[[email protected] ~]# ps aux |grep crond

root 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n

crond程序运行是计划任务执行的根本

Linux 系统—第10章—计划任务

图示中的这些都是可以设定的 例如以下命令

systemctl stop crond     

活越运行状态  active(running) 活跃,运行------>inactive(daed)不活跃,死掉

systemctl start crond

活越运行状态   inactive(daed) ------>active(running)

systemctl  disable  crond

启动模式:(开机自启)enabled------>disable(开机禁用)

cron示例

==管理方式==

1.创建计划

命令:crontab -e       

 Edit jobs for the current user 为本用户编辑工作

   Linux 系统—第10章—计划任务

  计入vim编译器模式  

  Linux 系统—第10章—计划任务 

  为命令设置执行时间(下有详解)

计入vim编译器模式

2.查询计划

crontab   -l

   List the jobs for the current user

  管理员可以使用 -u username, 去管理其他用户的计划任务

3.删除计划

crontab   -r

 Remove all jobs for the current users.

==计划任务存储位置==

[[email protected] ~]# ls /var/spool/cron/

==语法格式 job format==

   Linux 系统—第10章—计划任务

1. 说明

分 时 日 月 周     命令或脚本程序   六个部分用空格隔开

2. 示例1

  Linux 系统—第10章—计划任务

3. 示例2 

   Linux 系统—第10章—计划任务

  ==示例==

1.目的

 每个分钟执行创建文件的计划任务

2.步骤

本次实验完成自动创建文件的计划任务

--准备创建脚本文件--

    # vim /root/1.sh

 在root下创建一个 1.sh的编译器作为计划任务的脚本文件

编译器里输入以下内容

    /usr/bin/touch   /root/`date +%F-%H-%M-%S`.txt
    chmod +x   /root/1.sh

  /usr/bin/touch     输入创建命令绝对路径

  /root/     创建文件的路径

  `date +%F-%H-%M-%S`.txt  文件名称  ` ` 此符号优先运行里面的命令,设置成每秒刷新一次。再次作为文件名称。 

  chmod +x   /root/1.sh为此脚本文件附上 执行权限

--编写 任务计划--

 #crontab -e

    输入以下内容   (每分钟执行一次1.sh脚本)

 *  *  *   *   *    /root/1.sh

--查看创建结果--

  ls  -l   /root/