使用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.youcl .com / faq / 6_4_en.html 。
当然,您不想手动运行automysqlbackup
。 幸运的是,在/etc/cron.daily/automysqlbackup中有一个cron作业,它每天自动运行一次
automysqlbackup。
3链接
- AutoMySQLBackup: http : //sourceforge.net/projects/automysqlbackup/
- MySQL: http : //www.mysql.com/
- Ubuntu: http : //www.ubuntu.com/