当前位置:网站首页>Linux定时任务脚本执行时mysqldump备份异常的问题
Linux定时任务脚本执行时mysqldump备份异常的问题
2022-08-03 02:02:00 【羌俊恩】
一、问题描述
某业务系统的mysql自动备份定时任务检查执行过程中,发现mysqldump备份出的文件默认只有4K大小,即文件成功生成了但大小不对。但检查脚本,手动执行脚本,输出结果正常。
二、分析处理
1、从故障看,既然文件生成了,那么脚本就执行了,查看/var/log/cron日志也能佐证。
2、查看脚本权限正常;
3、相关经验表明:脚本引入某些变量会导致定时任务执行失败,但本事件中走完了变量,变量后命令都执行了;
4、另获悉,crontab执行时,如果脚本中命令不是系统默认的或当前用户的环境变量中的内容,会因命令路径问题,导致相关命令执行失败,你也可以查看.bash_profile 和.bashrc来验证是否相关命令在该环境下;查看 cat /etc/profile|grep PATH,是否命令路径在该文件下,本次事件如是。
5、据上,我们可判定mysqldump命令应该时执行失败了,但gzip命令执行成功了,故文件可以正常生成;
6、处理:修改脚本,在mysqldump行前新增source /etc/profile
7、重新编辑定时任务,现场验证定时任务执行脚本正常。
三、附录:备份脚本
#!/bin/bash
#author:junn
#date:2022-07-20
source /etc/profile
dir="/opt/mysql/data_dump"
#获取本地时间,并格式化时间
Date=`date +%Y-%m-%d-%H-%M-%S`
#判断文件夹是否存在
if [ ! -e $dir ]
then
echo "the source dir doesn't exist." > /opt/mysql/data_dump/mysql_bak_$Date.log
exit 1
fi
#数据库备份,打包导出为文件
mysqldump -uroot -p'Passw0rd' --all-databases |gzip > /opt/mysql/data_dump/"$Date"_b-mysql_backup.gz
if [ $?=0 ]
then
cd $dir
fileName="$Date"_b-mysql_backup.gz
file_size=`/usr/bin/du -sm ./$fileName |awk '{ print $1}'`
if [ $file_size -gt 1000 ];then
echo "$Date mysql backup have accomplished." >> /opt/mysql/data_dump/mysql_bak_$Date.log
rsync -azhv "$fileName" [email protected]:172.31.9.1/home/backup #异地备份
else
echo "backup falied,please check and retry" >> /opt/mysql/data_dump/mysql_bak_$Date.log
fi
fi
边栏推荐
猜你喜欢

10大领域5大过程47子过程快速记忆

JVM内部结构图及各模块运行机制总结

Wireshark data capture and analysis of the transport layer protocol (TCP protocol)

How does Excel compare if two columns of strings are the same?

Topic Modeling of Short Texts: A Pseudo-Document View

Violent recursion to dynamic programming 06 (the sword refers to Offer II 095. Longest common subsequence)

豆瓣评分9.3的好书,文末给大家抽奖送几本!

initramfs详解----设备文件系统

LabVIEW程序框图保存为图像

软件定义网络实验之SDN网络简单管理及开发
随机推荐
The Sandbox 市场平台将上线 Isla Obscura 第五期 NFT 作品集
国标GB28181协议EasyGBS平台项目现场通知消息过多导致系统卡顿该如何解决?
【静态类型和动态类型 编译检查和运行检查 Objective-C中】
【UE4】搭建局域网内VR直播 UE4.27
ROS通信模块:秒懂话题通信
PyCharm中常用的快捷键用法详解
南瓜科学新品上线 开辟益智玩具新世界
Topic Modeling of Short Texts: A Pseudo-Document View
20、商品微服务-web层实现
46LVS+Keepalived群集
DJI内推码(2022年8月2日更新)
vs studio 安装opencv 环境
简单的布局的初级智能文本提示器
pytorch 中 permute()函数的用法
无法启动服务 错误 193 0xc1
企业云成本管控,你真的做对了吗?
有趣简单的M2处理器性能实验:Swift与C代码执行速度的比较
【7.31】代码源 - 【矩阵操作】【宝箱】【New Stone Game】【等差数列】
rancher集成ldap,实现统一账号登录
ssh(sshd)安全配置