当前位置:网站首页>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
边栏推荐
- 易购数码类电商商城网页设计与实现项目源码
- [Static type and dynamic type compile check and run check in Objective-C]
- 无法启动服务 错误 193 0xc1
- Topic Modeling of Short Texts: A Pseudo-Document View
- [QNX Hypervisor 2.2用户手册]10 虚拟设备参考
- 【UE4】Build VR live broadcast in LAN UE4.27
- WRF-Chem模式调试、运行、结果后处理等遇到的各种问题
- 堆的应用:堆排序和TOP-K问题
- HCIP第十二天_二层MPLS实验
- Conversational Technology!
猜你喜欢

任意版本JLink驱动官方下载指引

visual studio 2012 为啥这么优秀

复杂多层布局的初级智能文本提示器

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

MATLAB绘制填充图(X轴上下两种颜色)

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

apache-activemq-5.14.1

vs studio install opencv environment

【面经】被虐了之后,我翻烂了equals源码,总结如下

容联云发送验证码
随机推荐
【Objective-C语言中的@property增强】
monkey 压测
YYGH-BUG-06
[QNX Hypervisor 2.2用户手册]10 虚拟设备参考
PyCharm中常用的快捷键用法详解
rancher集成ldap,实现统一账号登录
45部署LVS-DR群集
Wei Dongshan Digital Photo Frame Project Learning (5) Transplantation of libjpeg-turbo
Topic Modeling of Short Texts: A Pseudo-Document View
开发JSP应用的基础知识
禁用token及无感知更新token功能实现
Excel 如何比较两列字符串是否相同?
LabVIEW程序框图保存为图像
numpy PIL tensor之间的相互转换
DTD约束和Schema约束
征集 |《新程序员》专访“Apache之父”Brian Behlendorf,你最想问什么?
国标GB28181协议EasyGBS平台项目现场通知消息过多导致系统卡顿该如何解决?
initramfs详解----设备文件系统
怎么做postgrsql主备?
有趣简单的M2处理器性能实验:Swift与C代码执行速度的比较