Linux下mysql备份

自动任务

vim /etc/crontab

00 02 * * * root /home/backup.sh >/dev/null 2>&1

--------------------------------------------------------------------------------

备份脚本

#!/bin/bash

#set -x

echo -e "此脚本的用途是备份mysql服务器上的 [database]数据库."


name=[dbuser]
pass=[dbpassword]
DATE=`date +%Y%m%d`
backupdir="/home/ykx/mysql.backup"
achivedir="/data/mysql_backup_achive"
gzdumpfile="$DATE.sql.gz"
dbname=[database]


#检测完全备份目录是否存在,如果不存在就创建。
if [ ! -d $backupdir ]; then
    echo "完全备份目录不存在,开始创建......."
    /bin/mkdir $backupdir
fi


if [ ! -d $achivedir ]; then
    echo "存档备份目录不存在,开始创建......."
    /bin/mkdir $achivedir
fi


cd $backupdir


#完整备份
echo "数据库备份中......."
mysqldump --flush-logs -u$name -p$pass --skip-lock-tables --quick $dbname sys_permission_principaloperation >$achivedir/sys_permission_principaloperation_`date +%F`.sql
mysqldump --flush-logs -u$name -p$pass --skip-lock-tables --quick $dbname | gzip > $backupdir/$dbname.$gzdumpfile
#存档
cp $backupdir/$dbname.$gzdumpfile $achivedir


# 删除5天前的备份文件
find $backupdir -name "$dbname*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1


echo "数据库备份完成"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值