本文主要介绍Linux系统的ECS实例中如何对MySQL进行自动备份。
Linux系统的ECS实例中搭建了MySQL服务,用户可以使用如下脚本实现MySQL的定期自动备份。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #!/bin/bash #-----------------------------------------------# #This is a free GNU GPL version 3.0 or abover #Copyright (C) 2008 06 05 #mysql_backup Dedicated copyright by My #-----------------------------------------------# echo -e [`date + "%Y-%m-%d %H:%M:%S" `] start #system time time=`date + "%y-%m-%d" ` #host IP host= "127.0.0.1" #database backup user user= "root" #database password passwd= "yourpasswd" #Create a backup directory mkdir -p /backup/db/ "$time" #list database name all_database=`/usr/bin/mysql -u$user -p$passwd -Bse 'show databases' ` #in the table from the database backup for i in $all_database do /usr/bin/mysqldump -u$user -p$passwd $i > /backup/db/ "$time" / "$i" _ "$time" .sql done echo -e [`date + "%Y-%m-%d %H:%M:%S" `] end exit 0 |
注:脚本中的数据库名和数据库密码以用户需要备份的数据库信息为准,需要用户修改下。
crontab -e
,写入以下内容。保存退出,之后每天早上5:30就会自动备份数据库了。 1 | 30 5 * * * root sh /root/autobackup.sh >/dev/ null 2 >& 1 |
注意:备份会占用磁盘空间,及时清理不需要的数据或者扩展磁盘空间。