应用场景
1.每分钟需要执行一个程序去检查系统运行状态
2.每天凌晨需要对过去的一天业务数据进行统计
3.每个星期需要把日志文件备份(如果日志信息太多那么占用的磁盘空间就会越大,而且日志我们大多都是实时分析一周之内的日志信息,而超出一周的日志我们会将它进行备份)每天凌晨两三点钟进行备份
4.每个月需要把数据库进行备份
单个用户的计划任务
(单一 一次的计划任务,周期性的计划任务) 系统级别的计划任务 (大多是周期性的计划任务)
单一一次的计划任务 at
at 定义计划任务
atq 查看计划任务
atrm 删除计划任务
wall发送广播,所有用户都可以收到
定义单一 一次的计划任务,使用ctrl+d
退出,因为是单一的所以nihao!只会执行一次
通过atq可以查看任务信息
保存的信息在/var/spool/at
普通用户也可以添加单一一次任务信息
root用户可以在root@localhost at]# vim /etc/at.deny
文件中限制用户设置单一一次任务信息
root用户也可以[root@localhost at]# vim /etc/at.allow
设置哪些用户可以使用
周期性的计划任务
创建 cron表,通过命令crontab -e来创建
使用的服务是crond.service
,默认是启用的
格式说明:
* * * * * 分 时 日 月 周(五个*号的作用)
0-59 0-23 1-31 1-12 0-6
minute: 表示分钟,可以是从0到59之间的任何整数。*/1
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
星号(*)
:代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,)
:可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-)
:可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/)
:可以用正斜线指定时间的间隔频率,例如“/1”表示每两小时执行一次。同 时正斜线可以和星号一起使用,例如/10,如果用在minute字段,表示每十分钟执行一次。
创建周期任务
[root@localhost at]# crontab -e -u root
[root@localhost at]# crontab -l -u root
//查看周期任务
删除周期任务[root@localhost cron]# cd /var/spool/cron/
把文件删了或者[root@localhost cron]# crontab -e
把写的东西删除
对系统级别用户都做设置可以在[root@localhost ~]# vim /etc/crontab
做设置,可以实现多个任务不同用户去执行
需要重启服务