1.定时任务服务概念介绍
作用介绍说明:让指定任务可以在规定时间,由系统自动执行(自动化)
1)系统重要数据信息备份
2)系统信息做监控管理
3)系统日志切割功能 日志文件-- 切割 几个小的日志文件 100M
2.定时任务功能实现方式介绍
三种方式:
按照定义的时间完成任务:cronie
按照规定周期完成任务:anacron
定义任务后只执行一次:atd
查看系统的软件程序是否存在:
rpm -qa cronie --- 查看软件是否存在
rpm -ql cronie --- 查看软件部署后在系统中生成了哪些数据信息
rpm -qc cronie --- 查看软件配置文件信息
rpm -qf /usr/sbin/crond --- 查看命令文件属于那个服务程序
3.定时任务安装部署介绍
第一个历程:yum安装软件程序
yum install -y cronie
第二个历程:启动服务程序
systemctl start crond
systemctl enable crond
PS:配置文件修改后,不需要重启服务进行加载
4.定时任务配置方式方法
一个命令:crontab
-l 显示目前定时任务配置信息
-e 可以实现编辑定时任务
两个文件:
配置文件:/var/spool/cron/root ???
日志文件:/var/log/cron
设置定时任务方法:
1)时间信息设定
需求01:在10分 执行定时时任务 10:10 11:10
10 * * * * echo "oldboy_10分" >>/tmp/test_cron.txt
需求02:在10点 执行定时时任务
* 10 * * * echo "oldboy_10" >>/tmp/test_cron.txt ---十点时间范围内每分钟都会执行
时间符号作用:
* --- 每的意思 分别表示 每分钟 每小时 每天 每月 每星期
PS:大的时间区域定义好之后,小的时间区域也需要具体指定
n,m --- 指定不连续的时间执行定时任务
n-m --- 指定连续的时间执行定时任务
*/n --- 每隔多久执行定时任务 会按照时间的整数倍执行
*/2 (0~23) 0 2 4 6 ~ 22
*/3 (0~23) 0 3 6 9 ~ 21
*/4 (0~23) 0 4 8 12 ~ 20
2)任务信息设定(命令)
命令信息 脚本信息
5.定时任务编写注意事项
1)编写定时任务时,请写好注释信息
2)当执行定时任务有多步骤操作时,最好编写为脚本文件执行定时任务
定时备份数据信息
backup.sh
#!/bin/bash
cp /etc/hosts /backup/host_$(data +%F)
find /backup -type f -mtime +10 -name "hosts*"
检查确认备份信息 -- 发送邮件通知
00 00 * * * sh backup.sh
3) 定时任务中的命令信息最好使用绝对路径执行
执行操作命令原理过程:
执行某个命令 判断(是否是别名) --- 是 --- 读取别名对应命令信息
|
否
|
继续判断(环境变量路径中($PATH)是否有命令文件) --- 是 --- 执行命令
|
否
|
命令文件无法找到/没有这个命令
定时任务中执行 $PATH = /usr/bin/:bin
正常系统中执行 $PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
4)将命令产生的输出信息最好追加到空 或者取消默认输出 (总之就是不产生命令的输出信息)
/var/spool/mail/root -- 接受定时任务中命令输出的信息 不断产生无意义的信息会占用磁盘空间 block 建议关闭postfix服务,禁止文件信息产生
/var/spool/postfix/maildrop/ --- 此目录下会产生大量的小文件 不断产生无意义的信息会占用磁盘空间 inode 建议开启postfix服务,禁止maildrop目录中信息产生
同时将错误和正确信息输出到一个文件中
ntpdate ntp1.aliyu.com 1> /dev/null 2>/dev/null
ntpdate ntp1.aliyu.com &> /dev/null
ntpdate ntp1.aliyu.com > /dev/null 2>&1
特殊符号补充
1> or > – 标准输出重定向符号 将命令执行后的正确信息输出到指定文件中
2> – 错误输出重定向符号 将命令执行后的错误信息输出到指定文件中
参考:定时任务编写配置