mysql_backup_scripts
一、公司备份数据库脚本
#!/bin/bash ### # backup ### echo "=====================================================" _date=$(date +%Y-%m-%d--%H:%M:%S) echo "开始备份,时间:$_date" #读取文件 if [ -f /www/gxycloud/etc/backupurl ] then backupserver=`cat /www/gxycloud/etc/backupurl` else echo "冗余服务节点未设置" exit 0 fi echo "冗余服务节点IP:$backupserver" ping $backupserver -c 4 | grep "min/avg/max" -c ret=$? if [ $ret -eq 0 ] then echo "网络正常" else echo "网络不通,退出备份" exit 0 fi if [ ! -d "/www/backup" ]; then mkdir /www/backup echo "创建备份目录" fi echo "删除过往备份文件" rm -R /www/backup/* echo "删除结束" #backup database echo "开始导出数据库" mysqldump -uroot -pgxycloud2016 --all-databases > /www/backup/database.sql echo "导出数据库成功" echo "开始打包文件..." cd /www/web/ echo "打包/www/web/目录文件" tar -cf /www/backup/web.tar.gz default/* cd /www/gxycloud echo "打包/www/gxycloud/etc/目录文件" tar -cf /www/backup/etc.tar.gz etc/* echo "打包/www/gxycloud/etc/目录文件结束" echo "打包/www/gxycloud/init.d/目录文件" tar -cf /www/backup/init.tar.gz init.d/* echo "打包/www/gxycloud/init.d/目录文件结束" cd /www/backup echo "打包所有备份文件" tar -cf /www/backup/backup.tar.gz * echo "打包完毕" echo "检查远程目录" ssh root@$backupserver > /dev/null 2>&1 << eeooff if [ ! -d "/www/recovery" ]; then mkdir /www/recovery fi exit eeooff #send to backup server echo "发送备份文件" scp /www/backup/backup.tar.gz root@$backupserver:/www/recovery echo "发送成功" echo "开始远程还原" #start to recovery ssh root@$backupserver > /dev/null 2>&1 << eeooff echo "" cd /www/recovery tar -xf backup.tar.gz tar -xf web.tar.gz tar -xf etc.tar.gz tar -xf init.tar.gz cp -R /www/recovery/etc/* /www/gxycloud/etc/ cp -R /www/recovery/init/* /www/gxycloud/init.d/ cp -R /www/recovery/web/* /www/web/ chown -R www:www /www/web/* chmod 755 /www/gxycloud/etc/* chmod 755 /www/gxycloud/init.d/* mysql -uroot -pgxycloud2016 -e"source /www/recovery/database.sql" exit eeooff echo "远程还原结束,备份结束" echo "=====================================================" exit 0

浙公网安备 33010602011771号