innobackupeex全備腳本思路
四個需求如下:
(1)每天晚上23點執行,這需要linux系統做一個定時任務
00 23 * * * /bin/sh /shell/tencent_xtrabackup_all.sh /dev/null 2>&1
(2)每天。。看到這個詞,也就是說,每天備份的數據要求分開
month=`date +%m`day=`date +%d`year=`date +%Y`hour=`date +%H`min=`date +%M`dirname=$year-$month-$day
(3)備份mysql數據,需要開一個可以備份mysql數據庫的用戶
use mysql;
grant all privileges on *.* to 'root'@'%' identified by 'QQ61066319' with grant option;
flush privileges;
(4)備份的命令是什么,備份之后是否可以用tar -zcvf 新軟件包.tar.gz 資料或數據目錄 打包后是不是可以把原來的數據目錄給刪除了呢
/usr/local/xtrabackup/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=QQ61066319 --host=localhost /shell/xtrabackupDB/
全備腳本思路如下:
MysqlUser=root
MyseqlPwd=Fan.88888
hosts=127.0.0.1
month=`date +%m`
day=`date +%d`
year=`date +%Y`
hour=`date +%H`
min=`date +%M`
bakdir=/back/xtrabackup
dirname=$year-$month-$day
bakdir_mysql=$bakdir/$dirname/all/
bakdir_mysql_packaging=$bakdir/$dirname/packaging/
back_tar=${dirname}-${hour}-${min}
bakdir_mysql_rm=$bakdir/$dirname/
echo "$bakdir_mysql"
if [ ! -d "$bakdir_mysql" ]; thenmkdir -p $bakdir_mysql
fi
if [ ! -d "$bakdir_mysql_packaging" ]; thenmkdir -p $bakdir_mysql_packaging
fi
innobackupex --defaults-file=/etc/my.cnf --user=${MysqlUser} --password=${MyseqlPwd} --host=${hosts} ${bakdir_mysql}cd ${bakdir_mysql}
pwds=`pwd`if [ "${bakdir_mysql}" == "${pwds}/" ]; thenback_tar_name=${back_tar}.all.tar.gztar -czf ${back_tar_name} ${bakdir_mysql}* -R[ $? != 0 ] && echo "tar -czf ${back_tar_name} ${bakdir_mysql}* -R" && exitmv ${back_tar_name} ${bakdir_mysql_packaging}echo "$bakdir_mysql Packaging success "cd ${bakdir_mysql_rm}pwds_bakdir_mysql_rm=`pwd`if [ "${bakdir_mysql_rm}" == "${pwds_bakdir_mysql_rm}/" ]; thenfielseecho "$bakdir_mysql Packaging not success "
fi