crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
有点类似于闹钟的意味,闹钟是到指定时间,播报一个铃声,叫你起床,这个是到指定时间,去执行某项任务。
crontab--计划任务
常见的一些计划任务
>每分钟需要执行一个程序去检查系统运行状态
>每天凌晨需要对过去的一天业务数据进行统计
>每个星期需要把日志文件备份(如果日志信息太多那么占用的磁盘空间就会越大,而且日志我们大多都是实时分析一周之内的日志信息,而超出一周的日志我们会将它进行备份)每天凌晨两三点钟进行备份
>每个月需要把数据库进行备份
>一般写脚本,然后计划任务执行
单一计划任务
[root@localhost ~]# at now + 2 min ##at+时间,即任务执行的时间
at> wall hello,csdn! ##任务执行的内容,wall,广播播报,大喇叭告诉所有人。
at> <EOT> ##ctrl+d 退出
job 4 at Sat May 9 08:57:00 2020 ## 在两分钟后有一个任务将执行
2min后
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Sat May 9 08:57:00 2020):
hello,csdn! ##任务执行时间于规定时间相同
查看计划任务
#atq (注意 当你这个计划任务执行后再次查看就没有显示了)
[root@localhost ~]# atq
6 Sat May 9 09:20:00 2020 a root
#ll /var/spool/at 当计划任务没有执行会在该目录下产生一个普通文件,但是执行后该位置的文件也就不在了
在/var/spool/at 可以查看当前的at任务。
[root@localhost at]# ll
total 4
-rwx------. 1 root root 3746 May 9 09:10 a00005019419a8
drwx-----