当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
二叉树的前序遍历、中序遍历、后序遍历和层序遍历
LVS负载均衡群集及部署LVS-NAT实验
PHICOMM(斐讯)N1盒子 - Armbian5.77(Debian 9)配置自动连接WIFI无线网络
Incorrect datetime value: ‘2022-01-01‘ for function str_to_date
44LVS负载均衡群集-NAT
js垃圾回收机制
Wei Dongshan Digital Photo Frame Project Learning (5) Transplantation of libjpeg-turbo
新库上线 | CnOpenDataA股上市公司董监高信息数据
【云原生】服务行业案例-不可预测的并发场景解决方案
使用VSCode中遇到的问题及解决办法
如何准备考pmp?
【Flink】使用arthas在线诊断flink的那些事
超级复杂可贴图布局的初级智能文本提示器
The cornerstone of high concurrency: multithreading, daemon threading, thread safety, thread synchronization, mutual exclusion lock, all in one article!...
How does Excel compare if two columns of strings are the same?
无法启动服务 错误 193 0xc1
ES6 新特性:Class 的基本语法
Usage of permute() function in pytorch
DTD约束和Schema约束
【7.31】代码源 - 【矩阵操作】【宝箱】【New Stone Game】【等差数列】









