Linux下mysql备份
生活随笔
收集整理的這篇文章主要介紹了
Linux下mysql备份
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自動(dòng)任務(wù)
vim /etc/crontab
00 02 * * * root /home/backup.sh >/dev/null 2>&1
--------------------------------------------------------------------------------
備份腳本
#!/bin/bash
#set -xecho -e "此腳本的用途是備份mysql服務(wù)器上的 [database]數(shù)據(jù)庫(kù)."
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]
#檢測(cè)完全備份目錄是否存在,如果不存在就創(chuàng)建。
if [ ! -d $backupdir ]; then
? ? echo "完全備份目錄不存在,開始創(chuàng)建......."
? ? /bin/mkdir $backupdir
fi
if [ ! -d $achivedir ]; then
? ? echo "存檔備份目錄不存在,開始創(chuàng)建......."
? ? /bin/mkdir $achivedir
fi
cd $backupdir
#完整備份
echo "數(shù)據(jù)庫(kù)備份中......."
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 "數(shù)據(jù)庫(kù)備份完成"
總結(jié)
以上是生活随笔為你收集整理的Linux下mysql备份的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java命令行
- 下一篇: SQL 查询数据打印并导出EXECL