linux备份数据库

前端之家收集整理的这篇文章主要介绍了linux备份数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

linux备份数据库,数据库备份,sh备份数据库,MysqL备份

1.sh文件

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#数据库用户名
dbuser='root'
#数据库用密码
dbpasswd='密码'
dbname="数据库名称"

#备份时间
backtime=`date +%Y%m%d%H%M%S`

#日志备份路径
logpath='/data/MysqLbak'

#数据备份路径
datapath='/data/MysqLbak'
#echo   ${logpath}/${backtime}.sql

#正式备份数据库
for table in $dbname; do
MysqLdump -u ${dbuser}  -p${dbpasswd}  $table> ${logpath}/${table}${backtime}.sql

#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath

#为节约硬盘空间,将数据库压缩
tar jcf  ${table}${backtime}.tar.bz2  ${table}${backtime}.sql

#删除原始文件,只留压缩后文件
rm -f ${datapath}/${table}${backtime}.sql

#删除七天前备份,也就是只保存7天内的备份
find $datapath -name "*.tar.bz2" -type f -mtime +7 -exec rm -rf {} \;

echo "数据库表 ${dbname} 备份成功!!" >> ${logpath}/MysqLlog.log

else

#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!" >> ${logpath}/MysqLlog.log

fi
done


2.创建crontab 

cd /etc

vim crontab

在crontab里面加入
50 23 * * * root /data/MysqLbak/MysqL.sh


50 23 * * * 这个可根据你自己的时间来定义(表示每天晚上23点50分执行)
/data/MysqLbak/MysqL.sh 这个是你sh文件的路径(记得给这个文件有执行权限 chmod +x MysqL.sh)


最后重新载入crontab

/sbin/service crond reload

Box-sizing: border-Box; margin-top: 0px; margin-bottom: 19.7969px; color: rgb(51,51,51); white-space: normal;">相关crontab命令可参考


原文链接:https://www.f2er.com/linux/423024.html

猜你在找的Linux相关文章