10 计划任务

第一阶段:云计算基础

Linux系统配置及服务管理_第10章_计划任务

简介

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

分类

  • 一次性调度执行 at

• Schedule one-time tasks with at.

  • 循环调度执行 cron

• Schedule recurring jobs with cron.

一次性调度执行 at

语法格式

  • 语法格式

• at <TIMESPEC>

  • <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

  • 初识一次性任务计划
  • 1.设置一个定时创建用户的任务

• [root@localhost ~]# at  now   +1min

• at> useradd uuuu

• at> <EOT>

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

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

  • 2.查询任务

• [root@localhost ~]# atq

• 3 Thu Mar 30 09:55:00 2019 a root

  • 3.验证结果

• [root@localhost ~]# id uuuu

• 查出用户信息即可

循环调度执行 cron

简介

  • cron的概念和crontab是不可分割的。
  • crontab是一个命令,常见于Unix和Linux的操作系统之中
  • 用于设置周期性被执行的指令。
  • 该命令从标准输入设备读取指令,并将其存放于“/etc/crontab”文件中,以供之后读取和执行。

查看进程状态

  • [root@qianfeng ~]# systemctl status crond.service
  • [root@qianfeng ~]# ps aux |grep crondroot
  • 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n
  • crond程序运行是计划任务执行的根本

cron示例

  • 计划任务存储位置

• [root@localhost ~]# ls /var/spool/cron/

  • 管理方式

• 创建计划

• crontab -e

Edit jobs for the current user

• 查询计划

• crontab -l*

List the jobs for the current user

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

• 删除计划

• crontab -r Remove all jobs for the current users.

  • 语法格式 Job format

• # .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * command

• 说明

• 分 时 日 月 周     命令或脚本程序ls

 

• 六个部分用空格隔开

• 示例1

• 0 * * * * /mysql_back.sh

• 每小时的0分执行

• */5 * * * * /mysql_back.sh

• 每五分钟执行

• 0 2 1,4,6 * * /mysql_back.sh

• 每月的1,4,6日的2点整执行

• 0 2 5-9 * * /mysql_back.sh

• 每月5日到9日的两点整执行

• * * * * * /mysql_back.sh

• 每分钟执行

• 0 2 * * * /mysql_back.sh

• 每天两点整执行

• 0 2 14 * * /mysql_back.sh

• 每月14号的2点整执行

• 0 2 14 2 * /mysql_back.sh

• 2月14日2点整执行

• 0 2 * * 5 /mysql_back.sh

• 不写月日,仅周生效

• 每月的周五,两点执行

• 0 2 2 6 5 /mysql_back.sh

• 书写月和日,月或日,月日周均生效

• 6月2日的两点整执行

• 6月的周五两点整执行

• 示例2

• 00 02 * * * ls

• 每天2:00整

• 00 02 1 * * ls

• 每月1号2:00整

• 00 02 14 2 * ls

• 每年2月14号2:00整

• 00 02 * * 7 ls

• 每周日2:00整

• 00 02 * 6 5 ls

• 每年6月的周五2:00整  (特殊)

• 00 02 14 * 7 ls

• 每月14号2:00整

• 每周日2:00整

• 这两个时间都执行

• 00 02 14 2 7 ls

• 每年2月14号2:00整

• 2月每周日2:00整

• 这两个时间都执行

  • 示例

• 目的

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

• 步骤

• 1.准备创建脚本文件

• # vim /root/1.sh

• 输入以下内容

• /usr/bin/touch   /root/`date +%F-%H-%M-%S`.txt

• #chmod +x   /root/1.sh

• 2.编写任务计划

• #crontab -e

• 输入以下内容

• *  *  *   *   *    /root/1.sh

• 3.查看创建结果

• #ls  -l   /root/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值