linux下的规划任务——周期性施行的按时任务-linux运维
会员设定周期性规划任务crontab
个别会员想要设定周期性规划任务的话,需要运用crontab这个下令。和at同样,crontab也有黑白名单,关于的配置文件离别是——/etc/cron.deny、/etc/cron.allow。
当会员设定了按时任务,该任务就会以文本文件的方式记载到/var/spool/cron名目下。
# ll /var/spool/cron/ total 4 -rw------- 1 root root 98 Jul 28 03:58 root
对于crontab,我们只需要记住两个下令
crontab -e 设定按时任务
crontab -l 查看按时任务
设定按时任务的格局如下:
根本格局:分 时 日期 月份 星期 下令 取值范畴:[0-59] [0-23] [1-31] [1-12] [0-7]
除此以外,我们还需要记几个特别字符的含义:
* 表示任意时刻都可以
, 表示分隔工夫段的含义
- 表示陆续一段工夫
/n 表示每隔n单位隔断
下面通过几个例子来看看上面特别字符的用途:
# 每隔5分钟,施行下检测内存的足本 */n * * * * /root/script/check_memory.sh # 每个月1号凌晨5点20分,重新启动下办事器 20 5 1 * * /usr/sbin/reboot
系统的配置文件/etc/crontab、/etc/cron.d/*
对于周期性的规划任务,主要对应的有三个地方的配置文件,离别是
/var/spool/cron/,针对会员来设定的
/etc/crontab,针对系统的规划任务
/etc/cron.d/ 针对某个软件、系统的按时任务,比方针对一个网站,可能会有多个按时任务,那么倡议在/etc/cron.d/名目下,创建立一个配置文件
crontab -e是针对会员级别设计的,关于系统级另外周期性任务,倡议写在/etc/crontal 文件中,或/etc/cron.d/名目下。
下面看看/etc/crontab文件内容
# 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 # * * * * * root /usr/bin/date >> /root/cron.txt
可以看到,和crontab -e略微有点区别,这里需要指定会员名。
接下来,我们再来看看/etc/cron.d/名目下是什么文件
# ll /etc/cron.d total 8 -rw-r--r--. 1 root root 128 Aug 3 2017 0hourly -rw------- 1 root root 235 Aug 3 2017 sysstat
假设,办事器上有一个网站,关于该网站,我们需要按时备份数据库、网站文件,别的还需要按时处置些数据,那么,我们就可以在/etc/cron.d/名目下创立一个相干文件。我们再看看0hourly文件内容:
# Run the hourly jobs SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 01 * * * * root run-parts /etc/cron.hourly
该足本的意思是,每小时去施行/etc/cron.hourly名目下的足本文件。
预计眼尖的伴侣已经发明了,除了cron.hourly名目,还有cron.daily、cron.monthly、cron.weekly名目。但是这三个名目还是有点区另外,这三个名目是anacron所施行的。这个anacron表示叫醒未施行的按时任务并施行它。举个例子,当你运用crontab -e设定了按时任务后,由于关机或其他缘由,工夫过了单任务并没施行,那么就只能错过就错过了,但要是将足本放置在/etc/cron.daily/名目下,只有没有被施行,即便工夫过了,它还是会被施行。
以上就是linux下的规划任务——周期性施行的按时任务的细致内容,更多请关注 百分百源码网 其它相干文章!