欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

自动备份MYSQL的linux脚本_MySQL

程序员文章站 2022-04-18 21:09:22
...
bitsCN.com

这是我写的一个自动备份MYSQL的 脚本, 能备份所有MYSQL 中的所有数据库。

#!/bin/bash

umask 177

MUSER="userid"

MPASS="password"

MHOST="localhost"

MYSQL="$(which mysql)"

MYSQLDUMP="$(which mysqldump)"

PARAMS="--hex-blob --skip-extended-insert --password=$MPASS"

DATE="$(date +%F)"

BACKUPDIR="/home/${MUSER}/BACKUP/$DATE/"

RMDATE="$(date -d "1 week ago" +%F)"

RMDIR="/home/${MUSER}/BACKUP/$RMDATE"

BACKUPLOG="/home/${MUSER}/BACKUP/backup.log"

if [ ! -f $BACKUPLOG ] ; then

touch $BACKUPLOG

chmod 600 $BACKUPLOG

fi

if [ -d $RMDIR ]; then

rm -rf $RMDIR

echo "Backup DELETED from" $RMDATE >> $BACKUPLOG

fi

if [ ! -d $BACKUPDIR ]; then

mkdir -m 700 -p $BACKUPDIR

fi

echo "Backup BEGINNING" $DATE >> $BACKUPLOG

DBS="$($MYSQL -h $MHOST -u $MUSER -p$MPASS -Bse 'show databases')"

for db in $DBS

do

$MYSQLDUMP $PARAMS $db > $BACKUPDIR$db.sql && bzip2 --best $BACKUPDIR$db.sql

done

echo "Backup COMPLETED" $DATE >> $BACKUPLOG

另外可以结合CRONJOB定时备份

作者 eimhee

bitsCN.com
相关标签: 数据库