我们目前有一个备份系统,但是经过最近的一次惊吓之后,我们希望每晚将 MySQL 数据库再次备份到我们办公室的本地服务器上。
由于存储了大量不同的电子商务商店,数据库非常大。为了方便我们查找,而不是只获取一个巨大的 SQL 文件,每个数据库都有一个文件是理想的选择。
- Web 服务器是 CentOS,带有 PHP/MySQL,可通过 FTP/SSH 访问
- 本地服务器是 Ubuntu,带有 PHP/MySQL,可通过 SSH 访问
- 两台服务器都有专用的IP地址
- 只需保留前一天的数据库,成功后即可覆盖
关于如何最好地实现这一点,有什么建议吗?
答案1
for db in `mysql -uUsername -pPassword -sN -e "show databases"`
do mysqldump -uUsername -pPassword $db |/usr/bin/bzip2>/backup/$db.sql.bz2
done
此命令将把每个数据库转储到单独的文件中。您只需将生成的文件复制到本地服务器即可。