mysql5.5.20備份
同事整理的備份指令碼,在從庫上執行。Xtrabackup目前還不支援5.5.20。
[mysql@MYSQL-DB02 ~]$ crontab -l
0 1 * * * /home/mysql/cron/backup_db.sh >> /home/mysql/cron/backup_db.log 2>&1
[mysql@MYSQL-DB02 ~]$ more /home/mysql/cron/backup_db.sh
. ~/.bash_profile
#mysqldump=/data/mysql/bin/mysqldump
#mysqlbinlog=/data/mysql/bin/mysqlbinlog
#mysqladmin=/data/mysql/bin/mysqladmin
bak_dir=/data/mysql/backup
log_dir=/data/mysql/log
bak_opt="--single-transaction --flush-logs"
day=`date +%a`
hour=`date +%Y%m%d%H`
time=`date +%F%H%M%S`
deltime=`date "-d 3 day ago" +%Y%m%d%H%M%S`
db=thran
user=bak_user
passwd=BUteYhKEfVsqnnMSTOyo
bin_file_name=`ls /data/mysql/log | grep "mysql-bin" | grep -v "index" | awk -F"/" '{print $1}' | tail -n1`
#mysqlbinlog=/data/mysql/bin/mysqlbinlog
#mysqladmin=/data/mysql/bin/mysqladmin
bak_dir=/data/mysql/backup
log_dir=/data/mysql/log
bak_opt="--single-transaction --flush-logs"
day=`date +%a`
hour=`date +%Y%m%d%H`
time=`date +%F%H%M%S`
deltime=`date "-d 3 day ago" +%Y%m%d%H%M%S`
db=thran
user=bak_user
passwd=BUteYhKEfVsqnnMSTOyo
bin_file_name=`ls /data/mysql/log | grep "mysql-bin" | grep -v "index" | awk -F"/" '{print $1}' | tail -n1`
#Sunday: full backup
full()
{
mysqldump -u$user -p$passwd $bak_opt $db|gzip >$bak_dir/$db/full_$hour.gz
}
#Others: incr backup
incr()
{
mysqladmin -u$user -p$passwd flush-logs
mysqlbinlog -u$user -p$passwd $log_dir/$bin_file_name|gzip >$bak_dir/$db/incr_$hour.gz
incr()
{
mysqladmin -u$user -p$passwd flush-logs
mysqlbinlog -u$user -p$passwd $log_dir/$bin_file_name|gzip >$bak_dir/$db/incr_$hour.gz
#Record Last Backup binlog scn
echo $bin_file_name $time >> $bak_dir/binlog.index
echo $bin_file_name $time >> $bak_dir/binlog.index
#delete old binlog file, use root privelegs
bin_file_name=`ls /data/mysql/log | grep "mysql-bin" | grep -v "index" | awk -F"/" '{print $1}' | tail -n1`
mysql -uroot -prs0JpKfvhjSIvknHQQRv -e"purge master logs to '${bin_file_name}' "
}
bin_file_name=`ls /data/mysql/log | grep "mysql-bin" | grep -v "index" | awk -F"/" '{print $1}' | tail -n1`
mysql -uroot -prs0JpKfvhjSIvknHQQRv -e"purge master logs to '${bin_file_name}' "
}
if [ $day = "Sun" ]
then
full
else
incr
fi
# delete 10 days ago database backup
find $bak_dir/$db -mtime +10 -type f -exec rm -rf {} \;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-716001/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql5.5.20複製配置MySql
- oracle備份--離線備份Oracle
- 完全備份、差異備份、增量備份的區別
- Backup And Recovery User's Guide-備份RMAN備份-使用RMAN備份備份集GUIIDE
- Backup And Recovery User's Guide-備份RMAN備份-關於備份的備份GUIIDE
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE
- Oracle 聯機備份 離線備份 物理備份 恢復Oracle
- 資料備份≠容災備份
- 備份之控制檔案備份
- Backup And Recovery User's Guide-備份RMAN備份-用RMAN備份映象拷貝備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-備份集-備份集和備份片GUIIDE
- mysql5.5.20原始碼安裝MySql原始碼
- Oracle裡邏輯備份、物理備份、Rman備份的區別Oracle
- 揭祕ORACLE備份之--冷備份(也叫離線備份)Oracle
- 揭祕ORACLE備份之--熱備份(也叫聯機備份)Oracle
- RMAN備份之備份多個備份集到帶庫(三)
- RMAN備份之備份多個備份集到帶庫(二)
- RMAN備份之備份多個備份集到帶庫(一)
- mysql的冷備份與熱備份MySql
- rman備份和增量備份指令碼指令碼
- oracle的熱備份和冷備份Oracle
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- 備份策略 增量備份中的差異備份:週日和週三執行0級備份,其他每天執行1級備份
- Backup And Recovery User's Guide-RMAN備份概念-RMAN備份的多個拷貝-備份的備份GUIIDE
- Mysql備份與恢復(1)---物理備份MySql
- 初探MySQL資料備份及備份原理MySql
- XtraBackup完整備份與增量備份的原理
- exp備份和rman備份的區別
- MySQL · 物理備份 · Percona XtraBackup 備份原理MySql
- Oracle 11g RMAN備份-增量備份Oracle
- MONGODB使用MONGDODUMP備份來搭建備份集MongoDB
- Mac備份策略:更好的Mac備份指南Mac
- RMAN備份與恢復之加密備份加密
- 備份之歸檔重做日誌備份
- 備份命令
- [備份]EntityFrameworkFramework
- oracle 備份Oracle
- oracle備份Oracle