crond计划任务
一 定时任务介绍
1、什么是定时任务?
设定某个日期或时间周期性执行指令。比如设定一个闹铃,叫你每天早上7点钟起床等,这就是一个定时任务。
2、什么是Crond?
Crond是Linux系统中用来定期执行命令或脚本的一种服务软件,一般情况下,我们安装完CentOS操作系统之后,默认便会启动Crond任务调度服务。
Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作,如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作,这个Crond定时任务服务就相当于我们平时早起使用的闹钟一样。
3、crond日志文件
/var/log/cron
4.、为什么要使用定时任务?
定期备份数据,定期执行脚本程序
我们举个例子说明:例如,我们的数据库或者代码程序需要每天晚上0点做一次备份,这样每天夜里都需要执行的周期性工作,如果要让人操作的话,就得每天半夜爬起来,然后登录系统执行任务,执行完接着睡觉。另外,执行任务的过程也可能持续几个小时,这样一来,一个晚上我们就都不用睡觉了,这样显然是不行的。那么有什么办法来解决这个周期性的执行任务需求呢?
这就是Linux系统的定时任务Crond,这相当于我们平时生活中的闹钟功能,每天晚上提前设置定时,早晨按时叫醒你。
5、 定时任务主要分为以下两种使用情况。
(1)系统级别的定时任务:
临时文件清理例/tmp和/var/tmp等、系统信息采集、日志文件切割
(2)用户级别的定时任务:
定时向互联网同步时间、定时备份系统配置文件、定时备份数据库的数据
二 定时任务管理
2.1 系统级计划任务
定义方式一:编辑文件/etc/crontab
[root@localhost ~]# vim /etc/crontab
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- 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
# | | | | |
# * * * * * user-name command to be executed
分钟
小时
日
月
周
定义方式二:把脚本放到该目录下
/etc/cron.hourly/ # 系统定时任务每个小时运行这个目录里的内容
/etc/cron.daily/ # 系统定时任务每天运行这个目录里的内容
/etc/cron.weekly/ # 系统定时任务每周运行这个目录里的内容
/etc/cron.monthly/ # 系统定时任务每月运行这个目录里的内容
2.2 用户级计划任务
[root@localhost ~]# crontab -e # 创建计划任务
* * * * * /bin/ls
[root@localhost ~]# crontab -l # 查看计划任务
* * * * * /bin/ls
[root@localhost ~]# ls /var/spool/cron/
root
[root@localhost ~]# cat /var/spool/cron/root # 都是写在这里呢
* * * * * /bin/ls
[root@localhost ~