使用AutoMySQLBackup创建MySQL备份
版本1.0
作者:Falko Timme
AutoMySQLBackup是一个shell脚本,可以让您使用mysqldump对MySQL数据库进行每日,每周和每月备份。 它可以备份多个数据库,压缩备份,备份远程数据库以及发送日志。
我不会保证这将为您工作!
1初步说明
AutoMySQLBackup使用mysqldump创建数据库的SQL转储。 请注意,mysqldump将在创建备份时锁定数据库,这取决于数据库的大小,可能需要不到一秒钟到几分钟。 如果您使用大型数据库运行高流量网站,那么AutoMySQLBackup不适合您!
如果硬盘崩溃,此脚本将无法帮助。 您应该定期复制备份,以获得最佳保护。
2使用AutoMySQLBackup
您可以下载AutoMySQLBackup,如下所示:
cd /usr/local/bin
wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5
然后打开automysqlbackup.sh.2.5
并查看配置选项。 他们都很好解释。 您应至少配置以下设置:
vi automysqlbackup.sh.2.5
[...] USERNAME=root [...] PASSWORD=yourrootsqlpassword [...] DBHOST=localhost [...] # List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3" DBNAMES="db_ispconfig web1 web2 web3" [...] # Backup directory location e.g /backups BACKUPDIR="/backups" [...] # Email Address to send mail to? (user@domain.com) MAILADDR="user@domain.com" [...] |
DBNAMES
可以包含一个或多个数据库,以空格分隔。
如果BACKUPDIR
不存在, automysqlbackup.sh.2.5
将自动创建。
确保您填写正确的密码和数据库主机。 如果要备份本地数据库,请使用localhost
; 如果要备份远程数据库,请使用远程主机名(请注意,远程数据库服务器必须配置为允许远程连接!)。
现在我们必须使脚本可执行:
chmod 755 automysqlbackup.sh.2.5
现在您可以运行automysqlbackup.sh.2.5
,如果您在/ usr / local / bin
目录中:
./automysqlbackup.sh.2.5
...或从任何其他目录:
automysqlbackup.sh.2.5
这是一个示例输出:
server1:~# automysqlbackup.sh.2.5
======================================================================
AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/
Backup of Database Server - server1.example.com
======================================================================
Backup Start Time Fri Oct 17 16:00:51 CEST 2008
======================================================================
Daily Backup of Database ( db_ispconfig )
Rotating last weeks Backup...
Backup Information for /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql
compressed uncompressed ratio uncompressed_name
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql
----------------------------------------------------------------------
Backup End Fri Oct 17 16:00:52 CEST 2008
======================================================================
Total disk space used for backup storage..
Size - Location
68K /backups
======================================================================
If you find AutoMySQLBackup valuable please make a donation at
http://sourceforge.net/project/project_donations.php?group_id=101066
======================================================================
server1:~#
看看/ backups
目录...
ls -l /backups
...你应该找到三个子目录, 每天
, 每周
和每月
:
server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 daily
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 monthly
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 weekly
server1:~#
这些目录将包含以选择备份的数据库命名的子目录。 例如,如果您选择了数据库db_ispconfig
,则将有一个包含数据库转储的目录/ backups / daily / db_ispconfig
:
cd /backups/daily/db_ispconfig
ls -l
server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r--r-- 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Friday.sql.gz
server1:/backups/daily/db_ispconfig#
.gz
扩展名表示压缩。 要恢复数据库,您首先必须解压缩转储:
gunzip db_ispconfig_2008-10-17_16h00m.Friday.sql.gz
...(这将为您提供名为db_ispconfig_2008-10-17_16h00m.Friday.sql
的未压缩转储),然后按照https://www.youcl.com/faq/6_4_en.html中所述进行还原 。
当然,您不想手动运行automysqlbackup.sh.2.5
。 因此,我们可以为它创建一个日常的cron工作,如下所示:
cd /etc/cron.daily/
ln -s /usr/local/bin/automysqlbackup.sh.2.5 automysqlbackup
3链接
- AutoMySQLBackup: http : //sourceforge.net/projects/automysqlbackup/
- MySQL: http : //www.mysql.com/