Linux下mysql备份
生活随笔
收集整理的这篇文章主要介绍了
Linux下mysql备份
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
自动任务
vim /etc/crontab
00 02 * * * root /home/backup.sh >/dev/null 2>&1
--------------------------------------------------------------------------------
备份脚本
#!/bin/bash
#set -xecho -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 "数据库备份完成"
总结
以上是生活随笔为你收集整理的Linux下mysql备份的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java命令行
- 下一篇: SQL 查询数据打印并导出EXECL