Linux系统的ECS实例中如何对MySQL进行自动备份。
Linux系统的ECS实例中搭建了MySQL服务,用户可以使用如下脚本实现MySQL的定期自动备份。
- 将以下脚本拷贝到本地,上传到服务器上,名称叫 “autoback.sh”。
#!/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就会自动备份数据库了。30 5 * * * root sh /root/autobackup.sh >/dev/null 2>&1
注意:备份会占用磁盘空间,及时清理不需要的数据或者扩展磁盘空间。