当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
EasyGBS播放器优化:设备通道视频播放出现跳屏问题的修复
软件定义网络实验之自定义拓扑开发
vs studio install opencv environment
一个接口并发问题的模拟与复现
【社媒营销】Facebook速推帖子如何运作?值得吗?
236. The binary tree in recent common ancestor
不想当Window的Dialog不是一个好Modal,弹窗翻身记...
46LVS+Keepalived群集
【云原生】灰度发布、蓝绿发布、滚动发布、灰度发布解释
流程图(1)
initramfs详解-----初识initramfs
新库上线 | CnOpenDataA股上市公司董监高信息数据
Wireshark data capture and analysis of the transport layer protocol (TCP protocol)
优秀的 Verilog/FPGA开源项目总结及交流群
5. Software testing ----- automated testing
LVS-NAT模式【案例实验】
Incorrect datetime value: '2022-01-01' for function str_to_date
如何备考PMP才能一次通过?
The LVS load balancing cluster and the deployment of the LVS - NAT experiment
【7.31】代码源 - 【矩阵操作】【宝箱】【New Stone Game】【等差数列】