云计算教程之定时任务故障案例及项目
必会服务-定时任务故障案例及项目
1. 复盘与今日内容
复盘
定时任务:基本
定时任务:时间里面可以使用的特殊符号 / * - ,
定时任务: 案例: 同步时间案例
打包备份案例(脚本) 打包备份(脚本+变量)
FAQ:常见问题
#分时日月周,在取第几周的时候,会不会于日互相冲突,日不符合周会不会乱
不推荐:周几与日期一起写.
#排障(排除法) 6
定时任务执行失败.
没有日志.(crond服务没有运行,rsyslog服务没有运行)
没有结果.(手动运行对应的命令或脚本)
调试脚本: sh -x 或bash -x 显示脚本执行过程 (有+的表述过程,没有+表述输出)
今日内容
定时任务箴言
1.定时任务故障案例命令绝对路径定向到空
定时任务的特殊符号 %
案例: 定期进行巡检案例: 巡检+发邮件
2. 第1个必会服务-定时任务
1. 定时任务注意事项(箴言)
1) 增加注释
书写定时任务的时候,尽量添加上一个注释. 用于说明这条定时任务作用.
2) 尽量使用脚本
定时任务未来避免一些故障,推荐使用脚本.
3) 定时任务的文件,脚本使用绝对路径
书写定时任务的时候,相关文件要使用绝对路径.
4) 命令使用绝对路径?
定时任务中直接写命令,可以加上绝对路径. 参考2.2-2) 方案🅰
定时任务中运行脚本,脚本开头可以重新设置PATH环境变量. 参考2.2-2) 方案🅱
5) 定时任务中执行的命令或脚本定向到空或追加到文件
2.定时任务故障案例
1) 定时任务直接书写的时候%有特殊含义
回车.
去掉特殊含义需要使用\
2) 定时任务关于命令路径的故障
在定时任务运行命令或脚本的时候,只能识别到/bin或/usr/bin目录下面的命令. 只要不在这些目录下面的命令,就要使用绝对路径或者重新定义下PATH环境变量.
使用解决方案🅰
使用解决方案🅱 重新定义PATH
使用解决方案🅱 重新加载PATH变量
3) 定时任务没有定向到空或追加到文件故障案例
3. 使用案例
1) 定时备份/etc/目录到/backup以ip地址命名的目录中
书写脚本+变量
取出ip存放变量 ✅
取出时间存放到变量 ✅
创建以ip命名目录 ✅
打包压缩存放到这个ip地址命名的目录中,压缩包加上时间 ✅
书写定时任务(每分钟)
书写定时任务(改为指定时间)
2) 定时系统巡检(定时输出系统基本信息)写入到/tmp/sys.log中.
通过手动或自动方式,获取所有主机的基本信息. 未来这个操作可以通过监控实现.
写入到/tmp/sys.log文件的格式
1 #################################
2 主机名: yunheedu ip地址: 10.0.0.200 3 #################################
4 负载信息
5 最近1分钟: 0
6 最近5分钟: 0 7 最近15分钟: 0
8 #################################
9 内存信息(单位kb)
10 总计内存: 2000000
11 内存使用了多少: 200000
12 内存使用率: 10%
13 #################################
14 swap信息
15 swap总大小: 200000
16 swap使用大小: 0
17 swap使用率: 0
18 #################################
19 磁盘信息
20 几块硬盘: 1
21 根分区大小: 20G
22 根分区使用率: 10%
23 ################################
24 进程信息
25 进程总数: 100
26 运行中进程: 2
27 挂起进程数量: 0
28 僵尸进程数量: 0
29 ################################
步骤:
思路01:
定义变量
最后统一输出思路02: ✅
根据模块定义变量每个模块输出
流程
实际结果
3) 发送邮件
邮件
最简单一种发送方式.
配置发件人:163
获取:授权码(用户密码) linux配置/etc/mail.rc 完成
HRQPVKNACQMQOLYZ
收 件 人 :qq 通过命令发送
配置发件人
获取授权码
配置linux mail.rc 配置发件人信息
1 vim /etc/mail.rc #写到最后
2 #未加密的发送方式通过25端口,会被公有云封掉.
3 cat /etc/mail.rc EOF
4 set from = zhangsir 996@163.com
5 set smtp=smtp.163.com
6 set smtp-auth-user = zhangsir 996@163.com
7 set smtp-auth-password=BGRCTL CZXIT
8 set smtp-auth=login
9 EOF 10
11 #加密的方式465端口
12 cat /etc/mail.rc EOF
1 set from = zhangsir 996@163.com #配置发件人
2 set smtp=smtp.163.com #配置使用163发送邮件 如果是加密 smtps: §smtp.163.com:465
3 set smtp-auth-user = zhangsir 996@163.com #用户名:邮箱名字
4 set smtp-auth-password=BGRCTLKQDU IT #授权码
5 set smtp-auth=login #认证形式login
7 #下面3行用于配置加密方式进行传输
8 set nss-config-dir=/etc/pki/nssdb/
9 set smtp-user-starttls
10 set ssl-verify=ignore 11
1 echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >
/etc/pki/nssdb/163.crt
2 certutil -A -n "GeoTrust SSL CA" -t "C,," -d
/etc/pki/nssdb/ -i /etc/pki/nssdb/163.crt
3 certutil -A -n "GeoTrust Global CA" -t "C,," -d
/etc/pki/nssdb/ -i /etc/pki/nssdb/163.crt
4 certutil -L -d /etc/pki/nssdb/
5 cd /etc/pki/nssdb/
6 certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
发送邮件
发送邮件带上附件
写入定时任务脚本:
获取系统各种指标与信息 脚本存放到文件 命令
把文件内容通过邮件发送走
测试定时任务
4) 表格
csv表格:通过逗号分割的内容
3. 今日总结
定时任务书写注意事项
核心:定时任务故障案例 (PATH环境变量) (定向到空) 核心:定时任务项目案例: 备份创建ip地址命名的目录难点:定时任务项目案例: 系统巡检并发送巡检结果
熟悉:发送邮件,生成csv表格.
- 点赞
- 收藏
- 关注作者
评论(0)