使用AutoMySQLBackup创建MySQL备份在Ubuntu 9.10上

使用AutoMySQLBackup创建MySQL备份在Ubuntu 9.10上 AutoMySQLBackup 是一个shell脚本,让您采取每日,每周和每月备份...

使用AutoMySQLBackup在Ubuntu 9.10上创建MySQL备份

AutoMySQLBackup是一个shell脚本,可以让您使用mysqldump对MySQL数据库进行每日,每周和每月备份。 它可以备份多个数据库,压缩备份,备份远程数据库以及发送日志。 本教程介绍如何在Ubuntu 9.10服务器上安装和使用它。

我不会保证这将为您工作!

1初步说明

AutoMySQLBackup使用mysqldump创建数据库的SQL转储。 请注意,mysqldump将在创建备份时锁定数据库,这取决于数据库的大小,可能需要不到一秒钟到几分钟。 如果您使用大型数据库运行高流量网站,那么AutoMySQLBackup不适合您!

如果硬盘崩溃,此脚本将无法帮助。 您应该定期复制备份,以获得最佳保护。

我使用root权限运行本教程中的所有步骤,因此请确保以root用户身份登录:

sudo su

2使用AutoMySQLBackup

您可以安装AutoMySQLBackup,如下所示:

aptitude install automysqlbackup

然后打开/ etc / default / automysqlbackup ,看看配置选项。 他们都很好解释。 您应至少配置以下设置:

vi /etc/default/automysqlbackup

[...]
# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost
[...]
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
# The following is a quick hack that will find the names of the databases by
# reading the mysql folder content. Feel free to replace by something else.
#DBNAMES="db_ispconfig web1 web2 web3"
DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `
[...]
# Backup directory location e.g /backups
# Folders inside this one will be created (daily, weekly, etc.), and the
# subfolders will be database names.
BACKUPDIR="/var/lib/automysqlbackup"
[...]
# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"
[...]

DBNAMES可以包含一个或多个数据库,以空格分隔。

如果BACKUPDIR不存在, automysqlbackup将自动创建它(默认目录为/ var / lib / automysqlbackup )。

如果要备份本地数据库,请使用localhost ; 如果要备份远程数据库,请使用远程主机名(请注意,远程数据库服务器必须配置为允许远程连接!)。

现在可以运行automysqlbackup

automysqlbackup

看看/ var / lib / automysqlbackup目录...

ls -l /var/lib/automysqlbackup

...你应该找到三个子目录, 每天每周每月

root@server1:~# ls -l /var/lib/automysqlbackup
total 12
drwxr-xr-x 4 root root 4096 2010-01-27 17:20 daily
drwxr-xr-x 2 root root 4096 2010-01-27 17:20 monthly
drwxr-xr-x 4 root root 4096 2010-01-27 17:20 weekly
root@server1:~#

这些目录将包含以选择备份的数据库命名的子目录。 例如,如果您选择数据库db_ispconfig ,将会有一个目录/ var / lib / automysqlbackup / daily / db_ispconfig,其中包含数据库转储:

ls -l /var/lib/automysqlbackup/daily/db_ispconfig/

root@server1:~# ls -l /var/lib/automysqlbackup/daily/db_ispconfig/
total 40
-rw------- 1 root root 37016 2010-01-27 17:20 db_ispconfig_2010-01-27_17h20m.Wednesday.sql.gz
root@server1:~#

.gz扩展名表示压缩。 要恢复数据库,您首先必须解压缩转储:

gunzip /var/lib/automysqlbackup/daily/db_ispconfig/db_ispconfig_2010-01-27_17h20m.Wednesday.sql.gz

...(这将为/ var / lib / automysqlbackup / daily / db_ispconfig /目录中的db_ispconfig_2010-01-27_17h20m.Wednesday.sql提供未压缩的转储),然后按照http://www.howtoing .com / faq / 6_4_en.html

当然,您不想手动运行automysqlbackup 。 幸运的是,在/etc/cron.daily/automysqlbackup中有一个cron作业,它每天自动运行一次 automysqlbackup。