Linux中使用计划任务自动执行

  • Post author:
  • Post category:linux


                   Linux中的计划任务

知识要点

计划任务的意义

计划任务分类

用户计划任务crontab

系统计划任务

计划任务使用注意事项

anacron服务介绍

计划任务的意义

1.计划任务

创建和管理在指定时间自动执行的任务

2.注意事项

要使任务计划在指定时间自动运行,计划任务的服务必须是启动的

3.计划任务分类

使用at命令调用atd进程设置在某个特定的时间,执行一次性任务

使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

一次性计划任务 //要保证计划任务有效,atd进程要在运行,service atd start开启atd服务,service atd stop 关闭atd 进程 可以使用ps -ef | grep atd查看该进程有没有运行

1.at命令

在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务

系统服务的名称:/etc/init.d/atd

设置格式:at [HH:MM](时分) [yyyy-mm-dd](年月日) //不指定年月日就是当天 //ctrl+d提交任务保存退出

2.atq命令

用途:查询当前设置的at任务列表

同at -l

3.atrm命令:

用途:删除指定任务编号的at任务

格式:atrm 编号

同at -d

在这里插入图片描述


4.at

-c 任务号

查看计划任务的具体内容

5.at命令常用时间格式:

at [HH:MM]

at [HH:MM] [yyyy-mm-dd]

at now + 数字 [minutes|hours|days|weeks] //多少时间后执行


6.at

时间 -f 文件

使用文件中的命令作为计划任务

at now + 5 minutes -f /root/test.sh //五分钟后执行/root/test.sh文件里的命令

7.at计划任务文件位置

/var/spool/at/a开头的文件

任务执行完毕,文件消失

8.at计划任务文件位置

/etc/at.deny :只有该名单里面的人不可以使用

周期计划任务(重点)

1.crontab命令

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务

服务名称:/etc/init.d/crond

主要设置文件

用户定义的设置,位于文件:/var/spool/cron/用户名

2.配置文件的通常包含三个部分

注释

环境变量

cron命令

3.cron服务配置文件

位于文件:/etc/crontab

系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username

crond计划任务里面的命令有时候可能不会执行,因为cron的环境变量PATH跟系统PATH不太一样,它的PATH的默认值为PATH=/sbin:/bin:/usr/sbin:/usr/bin,所以这就造成很多命令不能使用,所以解决的办法有两个,可以自己设定cron的PATH环境变量,也可以用命令的绝对路径,比如ls 我们可以使用 : /bin/ls

4.cron服务的日志文件

位于文件:/var/log/cron
在这里插入图片描述

用户计划任务

1.管理cron计划任务

编辑计划任务:crontab -e [-u 用户名]

查看计划任务:crontab -l [-u 用户名]

全部删除计划任务:crontab -r [-u 用户名]

删除部分计划任务:crontab -e (重新编辑)

注:root用户可以管理指定用户的计划任务

普通用户只能管理自己的计划任务

忘记可以查看他的配置文件/etc/crontab

周期计划任务

在这里插入图片描述
2.时间数值的特殊表示方法

  •  表示该范围内的任意时间
    

, 表示间隔的多个不连续时间点

  • 表示一个连续的时间范围
    

/n 指定间隔的时间频
在这里插入图片描述
练:

示例1(root用户):

每天早上7:50自动开启sshd服务,22点50时关闭

每隔5天的12点整清空一次FTP服务器公共目录/var/ftp/pub

每周六的7:30时,重新启动httpd服务

每周一、三、五的17:30时,打包备份/etc/httpd目录

示例2(jerry用户):

每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件

示例3:

root用户查看自己的计划任务列表

查看并删除jerry用户设置的计划任务

在这里插入图片描述
周期计划任务注意事项

1.资源分配不均

多个计划任务同时运行

2.安全检查

防止有非法计划任务

3.周和日、月不可同时并存

容易导致计划任务时间混乱

anacron程序介绍

anacron程序

弥补cron在系统关机后不能执行计划任务的问题

不能替代cron

会每个小时被执行一次,脚本在/etc/cron.hourly

按天、周或月为单位去检查系统未进行的cron任务

/var/spool/anacron

服务名称:/etc/init.d/anacrond

开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止

anacron服务介绍

1.anacron服务配置文件

位于文件:/etc/anacrontab

在这里插入图片描述
run-parts 路径 //执行路径下的所有文件

有随机延迟和固定的延迟

本章总结

1.执行一次性的计划任务

at

2.执行周期性的计划任务

cron

3.为周期性计划任务cron收拾残局的

anacron

4.熟练掌握cron计划任务的时间语法

补充:mail命令查看邮件



版权声明:本文为qq_43028054原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。