Linux里的计划任务简析--crontab

   日期:2020-08-22     浏览:103    评论:0    
核心提示:计划任务1.什么是计划任务?按照计划准时准点去执行任务2.为什么需要计划任务?可以自动执行,不需要人的干预,解放了人力,提高了效率3.Linux里的计划任务crond进程:Linux里执行计划任务的程序,一直保持运行,每隔一分钟就去检查一下系统中的计划任务使用corntab命令调用crond进程,设置按固定的周期重复执行预先计划好的任务关于计划任务的一些命令查看crond进程是否存在:[root@sanchuang ~]# ps aux|grep crond root

计划任务

1.什么是计划任务?

按照计划准时准点去执行任务

2.为什么需要计划任务?

可以自动执行,不需要人的干预,解放了人力,提高了效率

3.Linux里的计划任务

crond进程:Linux里执行计划任务的程序,一直保持运行,每隔一分钟就去检查一下系统中的计划任务
使用corntab命令调用crond进程,设置按固定的周期重复执行预先计划好的任务

关于计划任务的一些命令

查看crond进程是否存在:

[root@sanchuang ~]# ps aux|grep crond 
root        985  0.0  0.1  36300  3464 ?        Ss   3月11   0:01 /usr/sbin/crond -n
root      22074  0.0  0.0  12320   984 pts/0    S+   11:01   0:00 grep --color=auto crond

重启计划任务:

[root@sanchuang ~]# service crond restart 
Redirecting to /bin/systemctl restart crond.service

停止计划任务服务:

[root@sanchuang ~]# service crond stop 
Redirecting to /bin/systemctl stop crond.service

启动计划任务服务:

[root@sanchuang ~]# service crond start 
Redirecting to /bin/systemctl start crond.service

centos8中也可以使用下面的命令启动:效果相同

[root@sanchuang ~]# systemctl stop crond
systemctl stop crond 和 service crond stop           

4.crontab

crontab是创建计划任务的命令

[root@sanchuang ~]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

crontab的主要用法:

# 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

* 表示任意的时间

crontab的相关命令:

crontab  -e       edit 编辑计划任务
crontab  -l       查看计划任务 list

使用计划任务的过程:(这里以执行backup_log.sh脚本为例)

[root@sanchuang lianxi]# crontab -e
第1步:按i进入计划任务的编辑模式,输入下面的内容
0 23 * * *  bash /lianxi/backup_log.sh
第2步:按ESC,再输入:wq 退出并且保存


[root@sanchuang lianxi]# crontab -l 查看计划任务
0 23 * * *  bash /lianxi/backup_log.sh

如何知道计划任务是否顺利执行?

查看crontab的日志:记录哪些计划任务的创建、执行、修改、查看等操作

[root@sanchuang log]# tail -f /var/log/cron
Mar 16 15:06:35 sanchuang crontab[22483]: (root) LIST (root)  查看
Mar 16 15:06:49 sanchuang crontab[22484]: (root) BEGIN EDIT (root)  编辑
Mar 16 15:07:07 sanchuang crontab[22484]: (root) REPLACE (root) 修改
Mar 16 15:07:07 sanchuang crontab[22484]: (root) END EDIT (root)  结束编辑
Mar 16 15:07:25 sanchuang crontab[22486]: (root) LIST (root)
Mar 16 15:08:01 sanchuang crond[22151]: (root) RELOAD (/var/spool/cron/root)  加载计划任务开始执行
Mar 16 15:08:01 sanchuang CROND[22491]: (root) CMD (bash /lianxi/sanchuang/create_dir.sh)
Mar 16 15:08:01 sanchuang CROND[22489]: (root) CMDOUT (tar: 从成员名中删除开头的“/)  脚本的执行输出效果

其中四个字段分别表示:时间、地点、人物和发生的事情
CROND[22491] CROND 是进程 [22491] 是crond的进程号 pid号
CMD 表示执行命令 command

5.关于计划任务时间设定的几个例子

1.每周1,5,7的23点40分

40 23 * * 1,5,7

2.每个月的1号20:30分

30 20 1 * *

3.每隔5分钟

*/5 * * * *

4.每隔1个小时

0 */1 * * *

5.星期1到星期5的18:00

0 18 * * 1-5

6.每隔3天,每天的13:58执行

58 13 */3 * *

7.每个月的1,10,15,20,25号的2:30

30 2 1,10,15,20,25 * *

6.几个关于计划任务的小问题

1.每个用户都有自己的计划任务吗?

每个用户都有一个自己的存放计划任务的文件件

2.这个用户没有登录是否计划任务也会执行?

是的
crond这个进程会每隔1分钟就到/var/spool/cron文件夹下加载所有的文件,执行里面的计划任务

3.root用户是否可以去管理其他用户的计划任务?

是的
默认情况下,只有root用户可以查看任何人的计划任务,其他用户只能看自己的

4.计划任务里的命令执行不了?

通常是环境变量的问题
建议使用命令的绝对路径

[root@sanchuang chenlin]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

或者修改环境变量,将crontab添加到环境变量中

7.关于计划任务的一些补充

计划任务的顺风车: linux系统本身也有一些任务需要定时完成的
例如:日志文件的轮转–》每隔一段时间产生一个新的日志文件

linux系统的后台工作开展需要的计划任务存放在哪里?
[root@sanchuang lianxi]# cd /etc/cron
cron.d/       cron.daily/   cron.deny     cron.hourly/  cron.monthly/ crontab       cron.weekly/  

cron.d/  存放计划任务的目录
cron.daily/ 存放每天需要执行的任务
cron.hourly/ 存放每小时需要执行的任务
cron.monthly/ 存放每月需要执行的任务
cron.weekly/  存放每周需要执行的任务
cron.deny   存放拒绝谁执行计划任务
anacron服务

anacron服务是cron服务的补充程序,起到查漏补缺的作用
弥补cron在系统关机后不能执行计划任务的问题,等系统开机后将没有执行的计划任务执行一遍
按天、周或月为单位去检查系统未进行的cron任务
/var/spool/anacron
服务名称:/etc/init.d/anacrond
开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服