90 lines
4.2 KiB
Plaintext
90 lines
4.2 KiB
Plaintext
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
Backup and Migrate 3 for Drupal 7.x
|
|||
|
by Ronan Dowling, Gorton Studios - ronan (at) gortonstudios (dot) com
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
DESCRIPTION:
|
|||
|
This module makes the task of backing up your Drupal database, code and uploaded
|
|||
|
files and of migrating data from one Drupal install to another easier.
|
|||
|
|
|||
|
Database backup files are a list of SQL statements which can be executed with a
|
|||
|
tool such as phpMyAdmin or the command-line mysql client. File and code
|
|||
|
backup files are tarballs which can be restored by extracting them to the
|
|||
|
desired directory.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
INSTALLATION:
|
|||
|
* Put the module in your Drupal modules directory and enable it in
|
|||
|
admin/modules.
|
|||
|
* Go to admin/people/permissions and grant permission to any roles that need to be
|
|||
|
able to backup or restore the database.
|
|||
|
* Configure and use the module at admin/config/system/backup_migrate
|
|||
|
|
|||
|
OPTIONAL:
|
|||
|
* Enable token.module to allow token replacement in backup file names.
|
|||
|
* To Backup to Amazon S3:
|
|||
|
- Download the S3 library from http://undesigned.org.za/2007/10/22/amazon-s3-php-class
|
|||
|
and place the file 'S3.php' in the includes directory in this module.
|
|||
|
The stable version (0.4.0 – 20th Jul 2009) works best with Backup and Migrate.
|
|||
|
|
|||
|
LIGHTTPD USERS:
|
|||
|
Add the following code to your lighttp.conf to secure your backup directories:
|
|||
|
$HTTP["url"] =~ "^/sites/default/files/backup_migrate/" {
|
|||
|
url.access-deny = ( "" )
|
|||
|
}
|
|||
|
You may need to adjust the path to reflect the actual path to the files.
|
|||
|
|
|||
|
IIS 7 USERS:
|
|||
|
Add the following code to your web.config code to secure your backup directories:
|
|||
|
<rule name="postinst-redirect" stopProcessing="true">
|
|||
|
<match url="sites/default/files/backup_migrate" />
|
|||
|
<action type="Rewrite" url=""/>
|
|||
|
</rule>
|
|||
|
You may need to adjust the path to reflect the actual path to the files.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
VERY IMPORTANT SECURITY NOTE:
|
|||
|
Backup files may contain sensitive data and by default, are saved to your web
|
|||
|
server in a directory normally accessible by the public. This could lead to a
|
|||
|
very serious security vulnerability. Backup and Migrate attempts to protect
|
|||
|
backup files using a .htaccess file, but this is not guaranteed to work on all
|
|||
|
environments (and is guaranteed to fail on web servers that are not apache). You
|
|||
|
should test to see if your backup files are publicly accessible, and if in doubt
|
|||
|
do not save backups to the server, or use the destinations feature to save to a
|
|||
|
folder outside of your webroot.
|
|||
|
|
|||
|
OTHER WARNINGS:
|
|||
|
A failed restore can destroy your database and therefore your entire Drupal
|
|||
|
installation. ALWAYS TEST BACKUP FILES ON A TEST ENVIRONMENT FIRST. If in doubt
|
|||
|
do not use this module.
|
|||
|
|
|||
|
This module has only been tested with MySQL and does not work with any other dbms.
|
|||
|
If you have experiences with Postgres or any other dbms and are willing to help
|
|||
|
test and modify the module to work with it, please contact the developer at
|
|||
|
ronan (at) gortonstudios (dot) com.
|
|||
|
|
|||
|
Make sure your php timeout is set high enough to complete a backup or restore
|
|||
|
operation. Larger databases require more time. Also, while the module attempts
|
|||
|
to keep memory needs to a minimum, a backup or restore will require
|
|||
|
significantly more memory then most Drupal operations.
|
|||
|
|
|||
|
If your backup file contains the 'sessions' table all other users will be logged
|
|||
|
out after you run a restore. To avoid this, exclude the sessions table when
|
|||
|
creating your backups. Be aware though that you will need to recreate the
|
|||
|
sessions table if you use this backup on an empty database.
|
|||
|
|
|||
|
Do not change the file extension of backup files or the restore function will be
|
|||
|
unable to determine the compression type the file and will not function
|
|||
|
correctly.
|
|||
|
|
|||
|
IF A RESTORE FAILS:
|
|||
|
Don't panic, the restore file should work with phpMyAdmin's import function, or
|
|||
|
with the mysql command line tool. If it does not, then it is likely corrupt; you
|
|||
|
may panic now. MAKE SURE THAT THIS MODULE IS NOT YOUR ONLY FORM OF BACKUP.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|