定时任务1

目录

一.单一执行的例行性任务--at (一 次性)

1.1安装

1.2参数

1.3示例2 

1.4时间格式

1.5注意

1.6at命令执行过程分析

二.循环执行的例行性任务--crontab (周期性)

2.1.crontd服务

2.2.crontab工作过程

2.3.crontab命令详解

2.3.1格式

2.3.2.参数

2.3.3.编辑crontab

2.3.4.特殊字符

2.3.5.时间描述示例

2.3.6.实验1

2.3.7.实验2

2.3.8安装邮件服务

2.3.9.书写定时任务的注意事项

2.4.0实验4

2.4.1系统级别的计划任务


一.单一执行的例行性任务--at (一 次性)
 

1.1安装


●at命令- -般会默认安装在系统中,通过下列命令查看版本号

[root@server ~]# at   -V

at version 3.1.23

●查看执行的状态

[ root@server ~]# systemctl status atd #查看状态

 [root@server ~]# systemctl enable --now atd #开机启动并当前立刻启动
 

1.2参数

at + 参数
-l: 列出系统中所有用户的at任务<=> atq
-d :删除或取消一个任务<=>atrm
-v :使用时间格式累出at任务
-C :可以列出任务后的命令内容
-f:从文件中读取


1.3示例2 


●不使用交互命令实现at任务
[root@server ~]# echo "echo 'he1lo again' >> at.txt"| at now +1
minute^C
[ root@server ~]# cat at. txt
 

1.4时间格式


参数                                             说明
HH:MM                                      在今天HH小时的MM分钟执行,若时间错过则在明天执行
HH:MM YYYY-MM-DD              规定在某年某月某日的特殊时间执行
                                                  now + 2 mintues<br>
                                                  now + 3 hours <br>
now +数字时间单词
                                                 now +4 days<br>
                                                 now +5 weeks
 

1.5注意


●at命令只要指定的时间正确,就可以执行对应的命令
●at命令的输出结果不会显示到屏幕.上
●at命令中执行的命令最好使用绝对路径,不容易报错
●过程:输入at时间->回车->输入执行的命令->ctrl+d退出at
at命令只会执行一次.


1.6at命令执行过程分析


●第一步:寻找/etc/at.allow (白名单)是否存在,写在该文件中用户才可执行at命令
第二步:若/etc/at.allow不存在,则寻找/etc/at.deny(黑名单)文件,写在该文件中的用户不能使
用at命令
●第三步:若两个文件都不存在则只有root用户可以使用at命令
●注意:若拒绝某用户使用at命令则可以将用户名写入到/etc/at.deny中
 

将redhat用户添加到白名单中

[root@kittod ~ ]# echo redhat >> /etc/at.allow

二.循环执行的例行性任务--crontab (周期性)


2.1.crontd服务


●at命令是在指定的时间只能执行一-次任务,crontab命令可以循环重复的执行定时任务,与
Windows中的计划任务有些类似
●crond是Linux下用来周期地执行某种任务或等待处理某些事件的一一个守护进程,在安装完成操
作系统后,默认会安装crond服务工具,且crond服务默认就是自启动的,若需要安装则执行
如下命令:
 [root@server ~]# yum install crontabs # 安装
[ root@server ~]# systemctl status crond
#查看状态
crond进程每分钟会定期检查是否有要执行的任务,如果有,则会自动执行该任务,crontab
命令需要crond服务支持
●linux任务调度的工作主要分为以下两类:
。系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
。个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,
这些工作可由每个用户自行设置
 

2.2.crontab工作过程


●当系统中有/etc/cron.allow文件时,只有写入此文件的用户可以使用crontab命令,没有写
入的用户不能使用crontab命令。同样,如果有此文件, /etc/cron.deny 文件会被忽略,因为
/etc/cron.allow文件的优先级更高
当系统中只有/etc/cron.deny文件时,写入此文件的用户不能使用crontab命令,没有写入文
件的用户可以使用crontab命令
●crontab执行的每- -项工作都会被记录到lvar/log/cron这个日志文件中
●当用户使用crontab新建工作之后,该项工作就会被记录到/var/spool/cron/目录里面
 

2.3.crontab命令详解


2.3.1格式


crontab [-u user] [-1| -r | -e]


2.3.2.参数


参数                                                说明
-U                                            只有root才能执行该任务
-e                                            编辑crontab工作内容
-|                                             查询crontab任务内容
-r                                             删除cronatb任务
 

2.3.3.编辑crontab


●格式
crontab -e .
●注意:写入的命令一行- -个命令,每行共6段:时间命令
●时间共5段,意义如下:
 

●注意:写入的命令- -行一 个命令,每行共6段:时间命令
●时间共5段.意义如下:

表示意义             分钟            小时           日期              月份                 星期
数字范围            0-59            0-23            1-31              1-12            0-7 (0和7都表示星期日)

 

2.3.4.特殊字符


*                                         任意时刻
-                                         表示范围

(逗号)                                分割时段
4*/数字                              指定时间间隔频率,如:每3分钟执行一-次:*/3
 

2.3.5.时间描述示例


12* * *                                                 每天凌晨2点1分执行动作
017**1:                                               每周一下午17点整执行动作
 0 5 1,15 * *                                        每月1日和15日凌晨5点执行动作
404**1-5                                            每周一至周五凌晨4点40分执行动作
*/104 ***                                  每天凌晨4点每隔10分钟执行动作
3,15 8-11 */2 * * :                               每隔2天上午8-11点的第3分钟和第15分钟执行动作
*****                                                   每隔1分钟执行动作
 

2.3.6.实验1


●编写脚本test.sh
 #!/bin/bash
while :
do
echo "this is my test sh"$(date) >> / root/cro. txt
sleep 1
done
●设置周期性的计划任务
[root@server ~]# crontab -e

 */1 * * * * /bin/bash / root/test. sh
注意:符号之间存在空格

●注意: crond服务会自动启动, crontab命令只要保存就会生效
●查看任务
[root@server ~]# crontab -1
*/1****/bin/bash /root/test.sh
●删除任务
[root@server ~]# crontab -r
[root@server ~]# crontab - 1
no crontab for root
●此实验需要终止循环进程
[root@server ~]# ps -aux | grep test #查看已存在的test进程
[root@server ~]# ki11 -9 进程号
#强制终止
 

2.3.7.实验2


让系统每周1凌晨6点重启一-次
 [ root@server ~]# crontab   -e
**1 /sbin/shutdown -r now
 

2.3.8安装邮件服务


[root@server ~]# yum install s-nail -y
●配置邮件服务
[root@server ~]# vim /etc/s-nail.rc
set from=17674044@qq . com
set smtp= smtp. qq. com
set smtp- auth-user=17674044@qq . com
set smtp- auth- password=do* ** *vqdubqbi bj
set smtp-auth=login
#注意:文件配置完毕需要强制保存并退出,末行模式下输入wq!
●测试一下邮件服务
 [ root@server ~]# echo "testmail"I mail    -S "testmail"     17674044@qq . com
 


●设置周期性的任务,每隔1分钟发送邮件
[root@server ~]# crontab -e
MAILTO=17674044@qq. com 
*****echo    "警告, server服务器内存较低,请速处理."   |  mail -v -s
                    "告警邮件" 17674044@qq . com
 

2.3.9.书写定时任务的注意事项


●6个字段都不能为空,如果不确定则使用*表示任意时间
●crontab命令任务的最小时间单位为分钟,最大有效时间为月,如: 2024年某时执行、3点30分
30秒这样的时间日期无法被识别
定义时间时,日期和星期最好不要- -起出现, 由于都是以天为单位,非常让管理员混淆
●在定时任务中不能,不管是写命令还是在脚本中写命令,最好都用绝对路径,相对路径有时会报

 

2.4.0实验4

每天6:00将日志文件/var/log/messages文件进行备份,备份到/backup目录中, 备份时
需要将文件名修改为logfileYYYY-MM-DD-HH:MM:SS
[ root@server ~]# mkdir /backup
[root@server ~]# vim /etc/crontab    注意:下面的root前面的符号之间存在一个空格
0 6 * * * root  /usr/bin/cp /var/log/messages /backup/logfile date +\%Y-\%m- \%d-\%H: \%M:\%S
#注意
#反引号’:表示将引起的内容识别为命令
#在crontab中%表示换行, 需要增加转义符\进行转义
 

2.4.1系统级别的计划任务


●crontab -e时每个用户都可以执行的命令,但有时定时任务必须由系统执行,此时就需要编
辑/etc/crontab配置文件来实现
●主配置文件:
[root@server ~]# vim /etc/crontab
●仅能通过root定义,不可以使用普通账户身份去执行计划任务
●方法:在/etc/crontab最后- -行新增计划任务即可
SHELL=/bin/bash
PATH=/sbin: /bin:/usr/sbin:/usr/bin
MAILTO=root
 

2.4.2` `符号的使用

`   `:反引号:输出命令的执行结果,而不是命令本身

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值