您的位置:首页 > 运维架构 > Shell

Shell简单全备mysql脚本案例

2012-09-28 12:51 856 查看
[root@cacti mysql]# cat backup.sh

#!/bin/sh

#created by taiyang

#2012-9-16

#function:backup mysql database

#set local variables

DBname=backup

BackupPath=/mysqlbak/mysqlbak/

DumpFile=${BackupPath}${DBname}`date +%y%m%d_%H%M%S`.bak

v_username='root'

if [ $v_username != 'root' ];then

echo "ERROR:the script must be run as mysql"

exit 1

fi

echo "backup database path:$DumpFile"

echo "------------------------------"

date

echo "****************************"

echo "backup database begin"

echo "****************************"

mysqldump -uroot -proot --opt $DBname > $DumpFile

echo "****************************"

echo "backup database end"

echo "****************************"

date

#delete backups before 5 days

find $BackupPath -ctime +5 -name '*.bak' -exec rm {} \;

[root@cacti mysql]#

从备份脚本当中进行还原数据库的信息;

[root@cacti mysqlbak]# ls

backup120928_114307.bak backup120928_114556.bak cacti120928_105558.bak

backup120928_114309.bak cacti120928_105044.bak cacti120928_110443.bak

backup120928_114310.bak cacti120928_105155.bak cacti120928_110448.bak

backup120928_114311.bak cacti120928_105457.bak cacti120928_110449.bak

[root@cacti mysqlbak]# pwd

/mysqlbak/mysqlbak

[root@cacti mysqlbak]#

[root@cacti ~]# mysql -hlocalhost -uroot -proot backup </mysqlbak/mysqlbak/backu

p120928_114556.bak

[root@cacti ~]# mysql -uroot -proot

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 860

Server version: 5.0.22-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use backup

Database changed

mysql> show tables;

+------------------+

| Tables_in_backup |

+------------------+

| b |

| t |

+------------------+

2 rows in set (0.00 sec)

mysql> exit

Bye
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: