Shell簡單全備mysql腳本案例
[root@cacti mysql]# cat backup.sh
#!/bin/sh
www.2cto.com
#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
www.2cto.com
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]#
www.2cto.com
從備份腳本當中進行還原數據庫的信息;
[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.
www.2cto.com
mysql> use backup
Database changed
mysql> show tables;
+------------------+
| Tables_in_backup |
+------------------+
| b |
| t |
+------------------+
2 rows in set (0.00 sec)
mysql> exit
Bye