document version 2008.10.27
BackupNative DotNetNuke Module
Portal Contents Backup Options
Restoring from the Backup History
Disclaimer / Limitation of Liability
BackupNative (formely BackupLite) FREE edition allows you to perform a native
database backup. If the database and web servers are the same box, also allows you
to compress and download it (compressed or not).
BackupNative
PRO edition allows you to perform a full site backup: the database
(native backup) plus all files and folders on the site (including \portals, \bin,
\desktopmodules, web.config file, etc.). With proper rights also allows you to restore
database backups.
The backup can be scheduled, among other options (see details).
Note: You may also be interested in the BackupScript module (backup / restore any local or remote database, script your database structure and more).


FREE edition
PRO edition - Additional features
Select the package to be installed (read "How_to_install.txt" inside the download package).
Uninstall legacy versions (any "BackupLite" not "BackupNative" module) if already present on the system.
Install the module as any regular standard DNN module.
Since 3.0.0 version, this module is NOT be automatically added to the "Host" menu. You can create and add more instances on any page (like any regular DNN module).
Same as (BackupScript module), it is recommended that you add it to an existent "host" page, like "SQL" or "File Manager", etc. You can add it to the same page that BackupScript.
It's recommended review and save the module's setting after performing an upgrade.
Add the module to "host/admin" pages only. NEVER put it on any kind of "public" page.
Rename the default backup folder name.
Rename the default backup file names.
Q: since the module is listed on the Module list (at Control Panel on the top), so everybody that have Edit access can add this module right ? How to protect that Admin or Host is the only role that can use Backup module ?
A: Once configured you can browse to Host / SQL and execute:
update DesktopModules
set isadmin=1
where friendlyname='Evotiva.BackupNative'
After that, the module will 'disappear'
from the Control Panel on the Top. The side effect is that you will also loose its
"Settings" menu item.
This module can backup your entire database "at once" (native SQL Server backup).
PRO version also can build a ZIP file containing the selected portal files/folders, among other options.
The module was tested on older DNN versions like DNN 3.0.13, 3.1.x, 4.0.2, 4.0.3. and also work fine on any DNN version up to the most current ones.
Note: BackupScript 3.1.x (and above) does not run in DNN3.
It supports SQL Server 2000 and SQL Server 2005.
Like DNN itself, the module requires write permissions over the file system.
Some options are not available for remote backups (database in different box than the web server). e.g. you cannot compress or manage that kind of database backups.
You need backup rights over the database (ask your ISP to know if you have this rights assigned).
Normally the database user configured on the web.config of DNN (on the query string) is 'db_owner' of it's database, and this is enough. But if this is not the case, the 'db_backupoperator' is all what is needed to perform a database backup command.
If you want to restore database backups from the module (valid for local databases) note that the database user also need to be a member of the sysadmin or dbcreator fixed server roles. This is NOT a common practice on any ISP.
If your database is "remote" (the database and web server aren't the same machine), you should ask your ISP for a valid full path (on the database server box) where the backup file will be created. Then you should ask them too for a way to access that file "from outside" other way it will be useless. You should configure that full path folder at the module settings. ("backup folder").
If your database is "remote" and your ISP doesn't allows you to perform and get the your database backup files you should try the BackupScript module.
Q: What do you mean with "remote" database?
A: Your database is "remote" when it isn't physically located on the same machine (box) that the web server.
Q: What if my database is "remote"?
A: You should ask your ISP for a valid full path (on the database server box) where the backup file will be created. Then you should ask them too for a way to access that file "from outside" other way it will be useless. You should configure that full path folder at the module settings. ("backup folder"). You may try the BackupScript module.
Q: Can this make a backup from a database where the database is in another server ?
A: See previous question.
Q: If SQL is on a different Server than the Web Server, is there any way to access the file? From reading your description the backup file is only available if SQL is on the same server. Can you clarify this?
A: See previous question.
Q: How can I restore a backup made with your module?
A: With proper rights this module can restore the database for you (local database). Current version doesn't automates the restore of the portal files. You can always manually restore a backup. More info on Performing Restores section.
Q: Can your software perform a restore on a different machine ?
A: See previous question.
Q: Can I backup a particular portal (instead of all of them)?
A: This module performs a native database backup, cannot backup an individual portal. This feature is on the "wish list" of the BackupScript module.
Q: I'm looking for a backup tool that will allow me to backup per child portal on my server. So that if one home page owner on one portal deletes all of their modules I can restore just that portal instead of having to restore the database for everyone. Will your tool allow restoring for selective portals only?
A: See previous question.
Q: since the module is listed on the Module list (at Control Panel on the top), so everybody that have Edit access can add this module right ? How to protect that Admin or Host is the only role that can use Backup module ?
A: Once configured you can browse to Host / SQL and execute:
update DesktopModules
set isadmin=1
where friendlyname='Evotiva.BackupNative'
After that, the module will 'disappear' from the
Control Panel on the Top. The side effect is that you will also loose its "Settings"
menu item.
Q: I cannot find any Configuration Options page to modify any setting.
A: This issue is related to how each DNN version handles the "Modules"
and "Tabs".
That's why since version 3.0, the the module doesn't add
itself to the "Host" menu.
To fix this problem you can browse to Host / SQL and execute
this query:
UPDATE DesktopModules SET isadmin=0
WHERE friendlyname='Evotiva.BackupNative'
The module can import/export its setting (implements the standard
DNN IPortable interface, from its actions menu) .
Note: You must edit and save the module settings the first time before using this
feature.
|
Module Information |
Information about your environment: module, DNN and .Net version. |
|
Current Domain |
Your web site domain (read only). An "email" link is provided. You can use it to pre-write an email to be sent for requesting a FULL license. |
|
License Status |
Your current license status and information. |
|
License key |
Place to paste the provided license information.
How to get registered: - Email us your full domain ( "Current Domain" show your full domain name and a link which helps you to prepare the email) and main purchase information (invoice#, your name, email, etc) - We’ll email you the license string. - Paste the license string on this textbox - Save your setting and re-enter the Settings page to activate the previously disabled options. |
| Backup Database | Check it to enable the database backup. |
| Backup folder name |
Backup folder name (will be created if necessary). Can be relative
to the web site's root. e.g.: backup or portals/_default/backup. Or you can specify
an arbitrary absolute folder (it should have the necessary access permissions).
e.g. c:\myfolder\mybackups. IMPORTANT: When the database is 'remote' (database in different box than the web server) you must specify an absolute folder nay and it is assumed existent (cannot be automatically created). e.g. c:\databasefolder\backups |
| Database Backup file name | Name of the file to be generated by the database backup operation. e.g.: mydatabase.bkp |
| Initialize Store | Checked means a backup "WITH INIT" (SQLSever). That is, overwrite an existent backup file with the new one (other way the new backup is appended to the existent one). |
| Continue after error backup | description at http://msdn2.microsoft.com/en-us/library/ms179314.aspx. |
| No recovery restore | Enables the "NORECOVERY" option at restore time (http://msdn2.microsoft.com/en-us/library/ms179314.aspx ). |
| Create database Zip File | Check it if you want the backup file compressed for you (after performing the backup operation) |
| Delete backup after compressing it | Check it if you want the backup file deleted for you (after performing the compress operation) |
| Auxiliary Database |
Auxiliary database to connect when restoring. e.g. tempdb, master, pubs, AdventureWorks,
etc. WARNING: should never be the same that the one to be restored!! The module needs to connect somewhere to the server from where it can trigger the restore process of the target database (I cannot connect the the database which will be restored). |
| Create Portals Content Zip File |
Check it to enable the portal contents backup.
Create the Zip File with the portal contents (files and folders of all the portals at the Host). That is, files and folders under /Portals. |
| Backup folder name |
Backup folder name (will be created if necessary). Can be relative to the web site's
root. e.g.: backup or portals/_default/backup. Or you can specify an arbitrary absolute
folder (it should have the necessary access permissions). e.g. c:\myfolder\mybackups.
This setting is enabled only when the database is remote (otherwise the configured
database backup folder is used). |
| Portal contents backup file name (without extension): |
Name of the zip file to generate with the portal contents (files and folders of
the host's portals). e.g. myfiles Note: if the same initial part of the file name is used for the database backup and the portal backup (i.e.mysite.sql.zip and mysite.zip) then the restore can not correctly identify the files as being either database or portal |
| Include web.config file | Checked, includes the web.config file within the portal contents Zip file |
| Include 'Host' folder | Checked, includes the 'Host' folder (/Portals/_default) within the Data Zip file |
| Include \bin folder | Include \bin folder within the Data Zip file |
| Include Modules folder | Include \DesktopModules folder within the portal contents Zip file |
| Include Other folders | Include all other folders and files (\controls, \images, \App_GlobalResources, etc.) within the portal contents Zip file |
| Exclude Foldes List | Optional comma separated list of relative folders to exclude from the backup (e.g.: \Portals\0\SpecialFolder,\App_Data) |
| External Folders List |
Comma separated list of absolute folders to include in the backup (e.g.: C:\mysecurefolder\myDMXfiles,E:\otherimportanfolder).
Within the backup zip file, all will be under \_XTRNL folder. |
| Compression Level | Compression level (for the compressed ZIP file creation). 0 - store only to 9 - means best compression, 6 - default |
|
Zip64 format |
Configures the use of the newer Zip64 format for the generated Zip file. Note: may not be legible by some legacy tools, buit-in WinXP compression included. |
|
Zip password |
Password for the resulting Zip files (leave blank for no password). |
| Append date/time | Checked, appends the current date/time to the backup file name |
| Backup file Max Count |
Configures how many backup files do you want to keep. The older ones
are purged as necessary. (1 = minimum) WARNING: always valid for Portal Contents Backups but only valid for local databases backups. |
| Page Refresh Rate | Page Refresh Rate (in seconds). |
|
Process Priority |
Priority for the backup/restore process thread |
| Download Method | Alternate implementations for the download links. |
|
Impersonate backup thread |
Turn it on only if you get security error messages when performing the backup. May be necessary e.g. when on your web config file this option is turned on: <identity impersonate="true"/> |
|
FTP transfer enabled |
Enable to transfer the backup file(s) via FTP to the configured FTP server. Notes: - An existing file will be overwritten. - Old files will not be purged. |
|
FTP Server |
FTP server name or IP address (e.g. ftp.myothersite.com) |
|
FTP User |
User (credentials) for the FTP server |
|
FTP Password |
Password (credentials) for the FTP server |
|
Use Passive mode |
Use passive mode data connection (otherwise will use active mode). Note that active and passive refer to the operation of the FTP server, not the client. |
|
FTP transfer enabled |
FTP transfer enabled? |
|
Remote folder |
Where to upload the files on the remote folder (e.g. backupfiles/mysitebackup). Note: you can leave this setting empty to upload to the default folder. |
| Notify Scheduled Backup to | Email account to notify scheduled backups executions. Live blank to ignore (no notification). |
| Include download links in email? |
Checked means that direct download links will be present in the notification email. Note: those links are built based on the "Host URL" setting ("Host Settings" page). |
| Example: "5" and select "Minutes" to run task every 5 minutes. Leave blank to disable timer for this task. | |
| Example: "5" and select "Minutes" to retry the task every 5 minutes after a failure. Leave blank to disable retry-timer for this task. | |
| Example: Select "10" to keep the ten most recent schedule history rows. |
TIP: With proper rights (permissions) and knowledge (network topology) of the Web + DataBase servers you can set up this folder to something like \\mywebservershare\mysiteroot\backup or \\mywebservername\c$\mysiteroot\backup. This way, your remote database backup will ends in your local web site database backup folder.
Just configure your desired setting for the module and click on the "Perform Backup" button.
Please note that the process can take some time to complete.
Depending on your setting will be created and compressed the following files:
e.g. if your configured "Backup file name" is "mydatabase.sql", a "mydatabase.sql.zip" file will be generated containing the native sql server backup file.
Depending on your setting will be created and compressed the following files:
e.g. if your configured "Portal contents backup file name" is "myfiles", a "myfiles.zip" file will be generated containing all the actual configured to be backed up files & folders under the web root.
Please note that the actual steps to do will depend on the kind of access to the server you may have: if you have direct access to the server in which the installation was running (meaning physical, Terminal Server, Radmin, or the like) it will be much easier than in a remote hosting scenario, in which again it will depend on the tools made available to you by your hosting provider: e.g. console app., ftp, etc.
If you are performing the restore on a different domain/server/box remember:
If you are restoring a crashed site, check the reason of the accident, since there might be hanging processes on the server that prevent files to be overwritten, a database to be restored, etc.
Just unzip all the "myfiles.zip" file under the web root.
You may need to change setting on your web.config file (e.g. the "connection string") if you are restoring to a different database server.
Check the DNN documentation, as the process and requirements are almost the same.
Please note that "myfiles.zip" may contain all of your files or just a few ones depending on your configured backup settings.
Restoring from the Backup History
Note: see Requirements section to check the permissions needed to perform this operation.
The backup file should be uncompressed.
Open the "Backup History" dialog and if necessary click on the appropriate image button to launch the uncompression of the database backup file.
Click on the image button associated the the uncompressed backup file to launch the database restore operation.
When finished, close your browser window and open a new one.
Manual Restores
Unzip the database backup file generated with the BackupNative PRO and perform an SQL database restore.
Remember that a database cannot be in use to be restored.
Also you have to deal with the restrictions that your ISP imposed to your SQL account..
With the necessary permissions you could kill all current connections (asp.net may
keep some opened although nobody seems to be accessing your site) and then perform
a restore but unless you are your own ISP, chances that you can perform this type
of operations are very low.
To perform a local restore, you can use the Enterprise Manager (the graphical way).
The manual way involves the use of Query Analyzer (if you have SQL Sever) or any
tool that allows you to perform t-sql commands against the SQL server.
Note: the backup file to be restored should be on the same box than the SQLServer.
(i.e you cannot restore a file from \\myshare\folder\mybackup.bkp)
Manual steps (the most generic I could think):
-- First you should find the LogicalName and PhysicalName of the
original database
RESTORE FILELISTONLY
FROM DISK = 'c:\mysite.bkp'
GO
-- Then you can perform the restore operation (if nobody is using
it)
-- You should replace 'c:\mysite.bkp', 'logical_data',
-- 'C:\myfolder\mysubfolder\mydatabase_Data.MDF', etc. with the real ones
restore database mydatabase
FROM DISK = 'c:\mysite.bkp'
WITH
MOVE 'logical_data'
TO 'C:\myfolder\mysubfolder\mydatabase_Data.MDF',
MOVE 'logical_log'
TO 'C:\myfolder\mysubfolder\mydatabase_Data.LDF'
GO
Note: to know who is locking a database you can use "sp_who" and to kill
the desired processes you can issue "kill" commands.
| 1.0.0 |
June 02, 2005 - initial release for DNN 3.0 |
| 1.0.1 | - setup script updated for DNN 3.1 |
| 1.0.2 |
June 16, 2005 - supports database and web servers in different boxes - always provides a download link to the last compressed backup (showing it's date/time) |
| 1.0.2b |
September 01, 2005 - setup script updated for DNN 3.1.1 |
| 2.0.0 |
September 29, 2005 - maximized request timeout protection - visual enhancements - automatic detection of remote databases - always provides a download link to the last backup (compressed or not) - new method to activate the downloads (more "download managers friendly") - PRO edition released. |
| 2.0.2 |
October 07, 2005 - rewritten database backup functionality. Now not using Microsoft.ApplicationBlocks.Data.dll (Working with the Data Access Application Block, you cannot specify an sql command timeout) - added backup options for \bin, \desktopmodules and all the others folders on the site - if a scheduled backup fails, now the detailed error is directly included on the notification email - now all tasks (database backup, files & folders backup, purge old backups, compressing, etc.) occurs on a new independent thread of execution. Every 2 seconds the page is automatically refreshed until the whole process is completed. The current status percentage of completion is shown at real time. |
| 2.0.4 |
October 25, 2005 - configurable page refresh rate (used to be 2 hardcoded seconds). - Backup File Max count setting: 0 means keep it all. - avoids some possible problems o some "remote database server" environments. - other minor enhancements. |
| 2.1.0 |
May 12, 2006 - module renamed as "BackupNative" - native DNN4 build also included on the download package - implemented database restore from the "Backup History" - implemented uncompress file operation from the "Backup History" - some internal changes, improved download manager |
| 3.0.0 |
July 26, 2006 - removed 'Host' (DNN Backup) automatically menu installation - fixed delete not working from Backup History (on some DNN 4.x version) - added selectable download methods for the backup zip files - added configurable auxiliary database to connect when performing a database restore operation - BackupNative and BackupScript can be on the same page (tab) |
| 3.0.1 |
September 14, 2006 - internal changes/ improvements - Portal Contents Backup: now includes empty folders - Portal Contents Backup: now can be configured a comma separated list of folders to exclude |
| 3.0.2 |
October 4, 2006 - Portal Contents Backup: fixed issue when no folder is configured to be excluded |
| 3.1.0 |
October 21,2008 - remote backup folders support - lot of settings added |
Here is a limited list of features considered for upcoming releases:
Copyright © 2006 – www.evotiva.com – All rights reserved.
PRO edition: You must purchase one copy per each DotNetNuke installation assigned single WEB domain name unless you get the enterprise license that give you the rights for unlimited number of WEB domains.
FREE edition: It's free (no limitations of use). Advanced features of the PRO version are nightly recommended.
Buyer acknowledges that the software may not be free from defects and may not satisfy all of buyer's needs.
This software is provided "as is" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the regents or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.