琴声已散丶弦犹微振 琴声已散丶弦犹微振

不积跬步,无以至千里;不积小流,无以成江海。—— 荀子·《劝学》

目录
MySQL使用mysqldump备份数据库脚本手工执行成功 crontab定时却失败的解决方法
/      

MySQL使用mysqldump备份数据库脚本手工执行成功 crontab定时却失败的解决方法

用crontab自动备份MySQL的时候导出总是为空,原因是corn的环境变量中没有mysqldump,所以用crontab执行mysqldump的时候要加上绝对路径,如:/usr/bin/mysqldump -u root -p123456 --default-character-set=utf8 --databases solo > root/solo.sql这样就可以了!

如果不知道绝对路径可以用which mysqldump或者whereis mysqldump查询

例如:

#!/bin/sh
# mongodump备份文件执行路径
mysqldump=/usr/bin/mysqldump 
# 备份存放路径                                        
backup_dir=/root/database_backup
# 获取当前系统时间,作为文件名的一部分                           
date=`date -d "today" +"%Y-%m-%dT%H-%M-%S"`  
# mins=10080 代表删除7天前的备份, 即只保留最近7天的备份      
mins=10080 
# 最终保存的数据库备份文件名                                                                         
tar_name="mysql_bak_${date}.tar.gz"                                 
cd ${backup_dir}
mkdir -p ${backup_dir}/${date}
# 备份项目数据库
${mysqldump} -h HOST -u USERNAME -pPASSWORD --default-character-set=utf8   --databases DBNAME > ${backup_dir}/${date}/DBNAME.sql    
# 压缩为.tar.gz格式         
tar -zcvf ${tar_name} ${date}  
# 删除7天前的备份文件        
find ${backup_dir}/ -mmin +${mins} -exec rm -rf {} \;          

“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill

标  题MySQL使用mysqldump备份数据库脚本手工执行成功 crontab定时却失败的解决方法
作  者Leif160519
出  处https://leif.fun/articles/2019/08/30/1567125582969.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!