我在 Ubuntu 服务器上安装了 MySQL 5。我想备份以下数据库:
- 最近 7 天
- 每周
并将这些备份存储在另一台服务器上。我更喜欢该工具在托管数据库的同一台服务器上运行,并使用例如 FTP 访问将这些文件存储在远程服务器中。
我安装了 cPanel,但我不确定 cPanel 带来的工具是否是推荐的,此外它不允许我自动将备份文件复制到另一台服务器。
mysqldump 或 mysqlhotcopy 命令不能满足复制到另一台服务器的需求。
推荐哪种工具?任何评论都将不胜感激。我查看了其他人对类似问题的回复,发现它们有些陈旧或不完整。
答案1
我真的推荐自动MySQL备份满足您的目的。它通过一些附加功能满足您的要求。但是,对于远程备份,设计是在备份服务器中运行该工具并直接读取远程数据库。因此不需要 FTP 等。
虽然它缺少一些好的文档,但另一方面它使用起来非常简单。AutoMySQLBackup 还可以在 Ubuntu 存储库中找到。
玩得开心 :)
答案2
我能想到的最简单的方法是做类似下面的操作 mysqldump [mysqldump 选项] | gzip -c | ssh user@remotehost "cat >
如果这不能满足您的需求,请尝试解释原因
答案3
以下是我进行备份的方法:
#!/bin/bash
############# Backup script for mysql databases
###########
#############
PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin
export DB_BACKUP="/home/backups/daily"
export DB_USER="root"
export DB_PASSWD="your-some-password"
rm -rf $DB_BACKUP/07
mv $DB_BACKUP/06 $DB_BACKUP/07
mv $DB_BACKUP/05 $DB_BACKUP/06
mv $DB_BACKUP/04 $DB_BACKUP/05
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
mysqldump --user=$DB_USER --password=$DB_PASSWD [db_name] > $DB_BACKUP/01/[db_name]-`date +%Y-%m-%d`.sql
######################## RESTORE ###############################
######################## Example:###############################
#
# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
exit 0
该脚本每天午夜调用一次,因此您可以备份 7 天前的数据。之后,我个人在另一台服务器上安装了 backuppc,它通过 rsync 备份转储的文件。
如果您不想要备份 PC,您可以制作另一个脚本,它将在第一个脚本完成后启动,并将创建的文件复制到另一个位置。(如果您想要该脚本的示例,只需说明您可以提供什么方式 - ssh、rsync、scp 或(我不喜欢) - FTP