This Guide covers both Duplicator Lite & Pro*
User Guide
Management | How to manage your Duplicator Pro plugin |
Packages | Package creation in the WordPress Administrator |
Schedules | Schedule setup and configuration Pro |
Storage | Storage setup and configuration Pro |
Tools | Helpful Tools |
Settings | Plugin configuration and settings |
Installer | Installing your package on a new site |
MultiSite | Working with MultiSite setups Pro |
*For step-by-step migration instructions refer to How to Move a WordPress Site
Plugin Management
Requirements
- WordPress 4.0+
- PHP 5.2.17+ (5.3+ recommended)
- MySQL 5.0+ (5.5+ recommended)
- Zlib compression enabled
Overview:
Installing Duplicator Pro follows the same procedure as manually installing any other WordPress plugin. The only extra step you need to perform is to activate your license once you have installed and activated the plugin.Step-By-Step:
- Download Duplicator Pro Plugin zip file to your desktop.
- After purchase you will receive an email with a download link
- You can also login to your SnapCreek Dashboard and download that latest version. - Login to your WordPress Administrator and click "Plugins".
- Click the "Add New" button.
- Click the "Upload Plugin" button.
- Click the "Choose File" and select the Duplicator Pro zip file and click "Install Now".
- Click Activate to activate it.
Duplicator Free and Duplicator Pro are two separate plugins. This means they can both be installed at the same time if you choose - although once you have the pro version there really is no need for the Free version as Pro has all the features of the free version and much much more...
Walk-through:
Installing Duplicator Professional
Click to load video
Plugin activation is very simple, just follow these steps:
Plugin Overview - Install and Activate the plugin
- Go to Duplicator Pro ❯ Settings ❯ Licensing ❯ Enter Your License Key
- Your license key will be sent to you via email after you purchase OR login to your dashboard to view your keys
Activation Issues: For issues with activating your license see this link on the FAQ. My license will not activate what should I do?
Overview:
The Duplicator Pro plugin is used to backup, migrate and ease the overall work-flow for working with WordPress sites. The plugin allows developers, designers, admins, and business owners to easily backup, restore and move a WordPress site from one location to another. The plugin consists of the following menu items or sections.Menu Options
Menu Name | Description |
---|---|
Packages | The starting point for the plugin. This is where all packages are created and viewed. |
Schedules | Create and setup schedules backups to ran at various durations. |
Storage | Create storage endpoints to servers like Google Drive, Amazon Cloud, Dropbox and FTP. |
Templates | Create custom profiles of what your package should include or exclude such as directory/file paths. Include or excluded specific database tables as part of your backup. |
Tools | Various tools such as package logs and system cleanup. |
Settings | Global plugin settings used to help facilitate the use of the plugin. |
Quick Start: To get up and running quickly with the plugin checkout the Quick Start Guide
Packages
Overview:
The "Packages » All" screen is the main interface for managing all the packages that have been created.A Package consists of two core files which are named 'Installer' and 'Archive'. The Installer file is a plain php file that is used to help redeploy or install the Archive file, the two go hand in hand. The Archive file is a compressed zip file of all your WordPress files and a copy of your WordPress database.
The Archive file can be adjusted to include/exclude only directories/files or database specific tables from your WordPress site. These options can be in edited in the Packages » New: Step 1 Setup view found by click the 'Create New' button. Below is a list of all the options available on the packages screen.
Details:
Item | Notes |
---|---|
Bulk Actions | Delete: By checking each package line and clicking the 'Apply' button you can delete the package information. This will remove any of the local packages on the server including the physical installer and archive files. This will however not any of the packages that may have been stored to a cloud instance such as Google Drive, Dropbox, etc. |
Create New | This button will start the wizard for creating a new package and will take you to the Step 1 Setup screen. |
Origin | This value will display either 'Manual', 'Schedule' or 'ScheduleR'. Manual: The indicates that the package was manually created using the 'Create New' button. Schedule: The indicates that the package was created by a scheduled routine. ScheduleR: The indicates that the package was created manually from schedules screen using the 'Run Now' action. |
Created | The time at which the package was created. This value represents the server time and is controlled by the WordPress Admin ❯ Settings ❯ General ❯ Timezone settings. |
Size | The size of the Archive.zip file. This value will vary based on if any filters have been enabled. |
Name | The name of the package. This can be any descriptive name you want. |
Package | Installer: This button will download the installer.php file. If a local storage option was not set then the button will be disabled. Archive: This button will download the archive.zip file. If a local storage option was not set then the button will be disabled. Storage: This button will show the remote storage endpoint links setup otherwise it will be disabled. Details: This button will show the package details screen which contains all the details about the package. Notices: Build Cancelled: The build was actively cancelled by clicking the 'Stop Build' button shown only when a build is in progress. Error Processing: The build process failed or was unable to complete successfully. Clicking the link will take you to the Package Details screen where you can view the package build log under the 'General' ❯ Files Storage Error: This indicates that at least one of the remote storage transferrs failed. If a package has multiple remote endpoint locations and one of the endpoints fail, but the others succeed then the one that failed should show in red and indicate that it failed. |
Footer | Packages: Shows the number of packages that have been made. This value will also show packages that may have errors. Total Size: The size of all the packages combined on your server disk. Server Time: The current time on your server this is controlled by WordPress Admin ❯ Settings ❯ General ❯ Timezone settings. |
Overview:
The package setup screen allows you to prepare where the package will be stored and which files and database tables will be placed in the archive file. The setup screen has several sections all of which will be covered below.Requirements:
The System requirements section must pass for the Duplicator to work properly. If this section shows fail you will not be able to continue with the setup until it shows as passing. There are currently 4 main sections PHP Support, Permissions, Server Support and Installation Files. Clicking on each link will open a description for what actions you can perform to get the requirement to pass.General:
The following options are not grouped to any section and will apply to the entire package.Item | Description |
---|---|
Apply Template | An optional template configuration that can be applied to this package setup. An [Unassigned] template will retain the settings from the last scan/build. Templates can be created from the Templates menu. |
Name | A name to help identify the package. By default the value from the last package creation is loaded as the default name. |
Notes | Click the notes button to expand and add additional notes about the package. |
Storage:
The storage section allows you to pick from any of the storage locations that have been created such as the local server, Dropbox, Google Drive, Amazon and FTP. If a storage endpoint does not exist in the list then click the 'Add Storage' link in the right corner to add one.When creating a package choose each location by checking the checkbox. For each location you check the package and installer file will be stored on that location. The main storage title will have the number of actively checked endpoints. To proceed to the 'Scan Step' at least one storage point must be checked. The table below covers the various options for the Storage section.
Item | Description |
---|---|
Name | A descriptive name that defines the endpoint. For remote locations the line will show a cloud icon. For locations that are on the local servers hard drive it will show a server icon. |
Type | This defines the endpoint type such as Local, Google Drive, Dropbox, FTP and others. |
Location | This defines the location where they are stored, some values will be click-able while others will not. |
Archive:
The archive.zip file is what contains all your files and a copy of your database via a generated SQL file. By default when the archive file is created all files and directories from your WordPress root path and all the tables in the WordPress database are selected. In order to customize your archive file you can exclude files and database tables.Excluding items is handy if you don't want to continually create large archive files and only need to select specific items. However if you do exclude specific items please be aware that you will have to manually move those items immediately after package installation. The table below covers all the options for the Archive section.
Item | Description |
---|---|
FILES TAB | |
Enable File Filters | File filters allow you to ignore directories/files and file extensions. When creating a package only include the data you want and need. This helps to improve the overall archive build time and keep your backups simple and clean. The checkbox allows you to keep all the settings or temporarily ignore them. If any type of file filter (directory, extension, file) is enabled the Archive title will show the following icons . |
Directories | Add the full path to the directories that should be excluded from being archived. Add a semicolon to separate each path. For example if you want to ignore your uploads path and the WordPress cache then the path(s) might look like this://public_html/mysite.com/wp-content/uploads; |
Extensions | File extentions allow you to exclude all files with a specific extention. For example if you wanted to ignore all zip, tar and log files then you would add:zip;tar;logPlease note that you only need to the extension name and not the '.' separator. Use the links on the right to quickly add common extensions. |
Files | Add the full path to the file(s) that should be excluded from the archived file. Add a semicolon to separate each path. For example if you want to ignore the readme.html file in your root, a specific file in your uploads folder and all error.log files in the entire site then the path(s) might look like this://public_html/mysite.com/readme.html;Use filenames without paths to filter same-named files across multiple directories, this can be useful for debug and log files. Note: pattern expressions are currently not supported (i.e. error.*) |
DATABASE TAB | |
Build Mode | PHP: This mode uses PHP to build the database.sql script which contains a full copy of your database minus any excluded files. This particular mode is very resource intensive and is much slower on larger databases. Mysqldump: This is the preferred mode and should be used if the option is supported on your server. It uses less server resources and is much faster for larger databases. Please contact your server admin or hosting provider to enable both shell_exec and mysqldump for this option to work with in your site. |
Enable Table Filters | Table filters allow you to ignore certain tables from a database. When creating a package only include the data you want and need. This helps to improve the overall archive build time and keep your backups simple and clean. When a table is checked it will be excluded from the generated database file. If any type of table is enabled the Archive title will show the following icon indicating that a database filter has been applied. Excluding certain tables can cause your site or plugins to not work correctly after install. Please be sure to know the purpose of excluded tables and if your unsure to contact the plugin/theme authors website. |
Compatibility Mode | This is an advanced database back-wards compatibility feature that should ONLY be used if having problems installing packages and you have no option to update the mysql server version. If the database server version is lower than the version where the package was built then these options "might" help generate a script that is more compliant with the older database server. It is recommended to try each option separately starting with mysql40. Please note that there are risks with using compatibility mode please see the FAQ question below and the section labeled "Data Preservation" What is Compatibility mode & 'Unknown collation' errors? How to use Compatibility Mode Our first recommendation is to always try and keep your mysql server versions up-to-date. It is highly recommended that the mysql server where you built the package be very close to the same version where you are installing the package. For example if you built the server on 5.7.x it is recommend that the installer server be 5.7.x or 5.6.x. The bigger the discrepancy between versions the more potential there is for errors and data corruption.
|
Installer:
The installer file is what is used to help redeploy or install the archive file. The installer section of the package setup has several optional options for the installer. These values are all optional on this screen and not required.SETUP
The setup section allows for how the installer will behave when you initially browse to it.
Item | Description |
---|---|
Password Protection | Enabling this option will allow for basic password protection on the installer. Before running the installer the password saved in this value must be entered before proceeding with an install. This password is a general deterrent and should not be substituted for properly keeping your files secure. |
Skip System Scan | By default every time the installer is opened it will run a simple scan on the server environment. If the scan check passes then enabling this option automatically take you to step one of the installer and will skip the system scan screen. |
INPUTS
All values in this section are optional. The installer can have these fields pre-filled at install time. If you would like to have the installer pre-filled with these values then enter them here. All of these values are covered in detail in the Installer section of this guide.
Overview:
The system scan step helps to ensure the build process runs smoothly. The scan step can help determine potential issues that might occur during the build phase and even the install process. The more ' Warn' checks that are found the higher the potential for running into issues during the build and install phases. Getting all the scan checks to show ' Good' will help ensure a clean build and install process, however continuing with a 'Warn' status is still possible.Details:
The scan report covers server settings, archive files and database tables. Scan checks are not required to pass, however they can cause issues on some systems if they are not addressed. If you receive a 'Warn' status on any of the items; then open the specific link and read the suggestions.It is OK to try and build a package even if you have a 'Warn' status. If you are able to build a package with a 'Warn' status then you can ignore the warning. However if you have issue during the build or install process you may want to work with your hosting provider to try and address the warning.
The Build Mode section covers the different ways in which the files and database can be archived. The modes can be adjusted via Duplicator Pro ❯ Settings ❯ Packages Tab ❯ Database & Archive Engine
Item | Description |
---|---|
Archive | ZipArchive: This setting uses core PHP code to zip up all of the requested files. While this setting is much more common place on most hosting providers it can be more resource intensive and it some cases slower than shell_exec. Shell_exec: This setting is recommend if your server supports the setting. Shell_exec uses PHP to call out to your server system zip command which can be faster and less resource intensive on some servers. |
Database | PHP: This setting uses core PHP code to build the database script. While this setting is supported on all servers it is more resource intensive and it some cases slower than mysqldump. Mysqldump: This setting is recommend if your server supports the setting. mysqldump uses PHP to call out to your server system mysqldump command which is faster and less resource intensive. |
Overview:
The build step is the last step of the package creation process and is displayed directly in the Packages screen. When a package is building you will need to wait for it to complete before attempting another. If a scheduled package is queued up at the same time as a manual package then it will stay in a pending state until the first one completes.Details:
The different states that the build process may be in at any given time are shown below:Item | Description |
---|---|
Building Package | When a package is building a indeterminate progress bar with show along with a message saying 'Building Package %50'. The percentage will slowly change as the package is being processed. You can click the button at anytime to stop the current build. Depending on your server environment the build process can take several minutes. It is very rare (depending on the size) but the process may take upto an hour. The package process however should not take hours. If the process takes much longer than 60 minutes then in most cases the process may be stuck. If you suspect build issues try to create a small package by creating a root path directory filter on Step 2 under the Archive file filters section and see if a very small package can be created. Then incrementally allow for more files to be added to the archive. This will help you troubleshoot any issues that are related to package size. Please note that once packages start to get over 2GB you may run into issues, especially on budget hosts. When the package is done building the progress bar will go away and on the very left hand side of the row will be a color indicating the state of the build which are:Running: The package is currently building or transferring to a remote storage location Success: The package has been successfully built Error: An error occurred during the package build process |
Transferring Package | Once a build has successfully run the plugin will start the process of transferring the archive and installer files to all the specified remote storage endpoint locations that were selected with this build. The message will change to 'Transferring Package %50' with a current sub status message of the remote endpoint location that it is working on. The transfer process will continue to work through each storage endpoint that was selected. For example if you choose Google, Dropbox and FTP then it will go through all 3 endpoints copying the files to each endpoint. If say Dropbox fails during the process it will still continue to process the other endpoints. If an endpoints fails during the transfer phase then then the storage button will be shown as . Clicking the button will open a dialog that shows which transferrs worked and which ones failed. If they all where successful it will show as |
Pending Package | When multiple packages are set to build or attempt to start the build process at the same time, the plugin will check to see if there are any active builds. If another build is running the subsequent queued packages will be put into a pending state until the first package is done building and transferring all its data. Pending items can be cancelled before they are ran by clicking the button. |
Overview:
This section will walk you through creating a package step-by-step. In these steps we will try to cover some general scenarios that may apply to your setup as well. If they don't feel free just skip the step.- Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Create New' button in the upper right corner.
- Step 1 Setup:
- Give the package a name
- Click the Notes button and add some notes
- Open the 'Storage' section and be sure that the 'Default' storage location is checked
- Open the 'Archive' section and check the 'Enable File Filters' checkbox
- Add to the 'File Extensions' input the value log this will exclude all log files with a log extention
- Add to the 'Files' input the value error_log this will exclude all files named error_log
- Add any additional files to exclude and be sure to enter the full path of the file such as //public_html/mysite.com/myfile.zip
- The installer section is optional and should be used for more advanced setups
- Click the Next Button & let the scanner run
- Step 2 Scan:
When the scan is done check the status to make sure they are flagged as ' Good'. Then click the 'Build' button. If any status show a ' Warn' status its still OK to continue with the build. By clicking each one of the sections you can get more details about how to get the Warn status to go away. - Step 3 Build:
When the package starts building you will be taken to the Packages screen were a progress indicator will run until the package is complete. Once the package has completed building you can download or transfer the files or just leave them for later use.
Overview:
Transfers allow users to quickly move packages from location to another. To get started follow the directions below.- Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Details Button' ❯ 'Transfer'
- Choose Location (Step 1):
- Choose the location(s) where you would like to copy the package files (archive.zip/daf installer.php) to.
- If the location does not exist then click the 'Create New Storage' link.
- Transfer Files (Step 2):
- Once you have chosen your transfer location click the 'Start Transfer' button.
- Once the transfer is complete you will see the data in the transfer log.
Schedules Pro Only
Overview:
The "Schedules » All" screen is the main interface for managing all schedules that have been created. Schedules are used to automatically create a package at a specific time. Schedules can be ran at any time and as frequently as needed. It is however recommend to space out and only run your a schedule when absolutely needed. Creating packages are expensive on your server resources and should be used with caution especially on shared budget hosts.Schedules use predefined templates to run from. Templates allow you to choose which files and database tables you would like to make as part of your backup process. A schedule can also be tied to a storage endpoint and pushed upto the cloud as part of its runtime directive.
Details:
Item | Notes |
---|---|
Name | A short descriptive name for the schedule. EXAMPLES: "Weekly Full" ❯ A schedule to backup the entire site once a week. "Bi-Weekly Full" ❯ A schedule to backup the entire site twice a week. "DB-Daily 00:00" ❯ A schedule to backup only the database at 12am daily. "DB-Daily 13:00" ❯ A schedule to backup only the database at 1pm daily. QUICK LINKS: Quick View: This will show additional summary in-line such as the summary and how many times it has been ran. Edit: Takes you to the edit screen. Delete: Will delete only the selected schedule. Run Now: This will activate the package creation process for this schedule right now. Once clicked you will be taken to the package build process on the packages screen. |
Storage | Every storage location the schedule backup is stored or transferred to. This will be the storage name not the storage type. For example if your storage type is Dropbox but you named it 'My Dropbox' then 'My Dropbox' will show in this column. |
Runs Next | The next date time the schedule is scheduled to run. |
Last Ran | The last time the schedule was ran or actively initiated. |
Active | A schedule must be active for it to run. This will show if the schedule is currently active and ready to be ran. |
Footer | Total: Shows the number of schedules created. Active: The number of active schedules. Time: The current time on your server this is controlled by WordPress Admin ❯ Settings ❯ General ❯ Timezone settings. |
Details:
The Add/Edit screen is used to add and edit existing schedules. You can easily copy an existing schedule by using the copy from drop-down in the upper right hand corner.Item | Notes |
---|---|
Name | A short descriptive name for the schedule. EXAMPLES: "Weekly Full" ❯ A schedule to backup the entire site once a week. "Bi-Weekly Full" ❯ A schedule to backup the entire site twice a week. "DB-Daily 00:00" ❯ A schedule to backup only the database at 12am daily. "DB-Daily 13:00" ❯ A schedule to backup only the database at 1pm daily. |
Template | Every schedule must be assigned to a template. Templates allow you to choose which files and database tables you would like to make as part of your backup process. The default template will be assigned by default. |
Storage | Choose at least one or more storage location(s) that your schedule will be stored at. This can be the local server or any number of storage locations such as Dropbox, Google Drive, FTP and others. |
Repeats | Daily ❯ This will run the schedule every X days. For example if you choose every 7 days then the schedule will run once per week. Weekly ❯ Choose the days of the week Monday thru Sunday that you would like the schedule to run. Monthly ❯ Choose which day of the month and the number of months you would like to run. Note: If you have a large site, it's recommended to schedule backups during lower traffic periods. If you're on a shared host then be aware that running multiple schedules too close together (i.e. every 30 minutes) may alert your host to a spike in system resource usage. Be sure that your schedules do not overlap and give them plenty of time to run. |
Start Time | The time of day you would like this to run. All times are in 24 hour increments from 00:00 (12am) to 13:00 (1pm). |
Activated | A schedule must be active for it to run. This is an easy way to enable/disable a schedule without removing it. |
It is recommend to only make backups based on the frequency of how your data is being written. If your not uploading images/media to your site and none of the theme files change very often then it would only make sense to backup your database more frequently vs backing up everything. Be sure to pay attention to the data being backed up.
- Start: Goto Duplicator Pro ❯ Schedules ❯ click the 'Add New' button in the upper right corner.
- Copy From: This is an optional step that will allow you to copy from an existing schedule.
- Name: Give the schedule a descriptive name for example see Add/Edit section above.
- Template: Select an existing template or use the default
- Storage: Choose at least one storage location where the package and installer will be stored at.
- Repeats: Choose the frequency and duration for how often the schedule should run.
- Start Time: Choose the time of day you want the schedule to start on. Values are 00:00 (12am) to 23:00 (11pm).
- Activate: Choose if the schedule is active to run. Finally save the schedule and wait for the schedule timed.
- Run Now: This is an optional step that will you allow the schedule to be ran right now.
If a schedule runs and fails an email will be sent to the email provide in the Settings ❯ Schedules ❯ Email Address field. It is common for schedules to fail from time to time. If you find that a schedule fails just attempt a 'Run Now' and validate that it can run. If the issues fails on more that 3-4 attempts then an inspection of the logs may show what is preventing the schedule from running successfully.
Question How can I create a schedule to backup only my database?
Answer
- Create Template Go to Tools ❯ Templates ❯ Add New
- Setup Template Set the Package Name as "Database Only" & Check the "Archive Only Database" under the Archive Section & save.
- Create Schedule Goto Schedules ❯ Add New
- Setup Schedule Give the schedule a name and choose the Package Template "Database Only" and finish your schedule options & save.
- Test ScheduleClick the "Run Now" link by hovering over the schedule name to make sure your package is built as expected.
Storage Pro Only
Overview:
The local server storage option allows for the package (installer/archive) to be stored at any physical path on your server that PHP has access to. In Duplicator Lite all data is stored to the wp-snapshots folder off the root of your WordPress site. With Pro the package data can be stored to a path that you designate. Otherwise it will be stored to a default location in the wp-content directory. This option can be handy if you need or want to specify the path for storing your package.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
Storage Folder | The full path on the server where you would like the package (installer.php/archive.zip) stored. On Linux systems start with '/'. On Windows use drive letters. (e.g. /mypath or E:/mypath). Be sure that PHP has permissions to write to the path provided. If the path does not exist then Duplicator will try to create the path. |
Filter Protection | When checked this will exclude the 'Storage Folder' provided directly above and all of its content and sub-folders from being included in a package build. This setting is highly recommended and failure to check this option can lead to build failures. |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues, especially if your limited for disk space. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: Local Server
- Provide the full path on your local server to where the package will be stored
- Leave the Filter Protection check-box checked
- Enter the number of packages you want to persist for this storage location
See this full online guide for a complete overview of setting up an Amazon S3 storage endpoint.
Storage » Dropbox The Amazon S3 is a very good cloud storage system. However the setup for S3 can be much more involved than its counter parts. If you are looking for a quick and easy setup we recommend first trying Dropbox or Google Drive.
Overview:
Duplicator Pro can push your backups to the Dropbox cloud service. All packages are initially built on the local server and then pushed up to Dropbox using its API services.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
Authorization | This process will validate your Dropbox account and allow for Duplicator to communicate with Dropbox. Once validated the name and email associated with the Dropbox account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from Dropbox click the 'Cancel Authorization' button. This disassociates this storage provider with the Dropbox account. |
Storage Folder | This is the folder on the Dropbox servers where packages will be stored. This should be unique for each web-site using Duplicator. |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues. |
Connection | Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: Dropbox
- Under Authorization: Click "Connect to Dropbox"
- Step 1 Click Authorize Dropbox
- This will open a new browser window/tab to dropbox.com
- Click the "Allow" Button and wait for Success Message
- Close the dropbox.com site window/tab and go back to Duplicators interface
- Under Authorization Step 2: Click the Finalize button
- Duplicator is now authorized to access the following Dropbox account
- Click the 'Test Dropbox Connection' button to validate data can be moved between systems.
- Finally Click the "Save Provider" button to save this Dropbox storage endpoint
Overview:
Duplicator Pro can push your backups to the Google Drive cloud service. All packages are initially built on the local server and then pushed up to Google Drive using its API services.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
Authorization | This process will validate your Google Drive account and allow for Duplicator to communicate with Google Drive. Once validated the name and email associated with the Google Drive account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from Google Drive click the 'Cancel Authorization' button. This disassociates this storage provider with the Google Drive account. |
Storage Folder | The folder on the Google Drive servers where packages will be stored. This should be unique for each web-site using Duplicator. If the directory path above is already in Google Drive before connecting then a duplicate folder name will be made in the same path. This is because the plugin only has rights to folders it creates. |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues. |
Connection | Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: Google Drive
- Under Authorization: Click "Connect to Google Drive"
- Step 1: Click Authorize Google Drive
- This will open a new browser window/tab to accounts.google.com
- If you have multiple Google accounts then choose the account you would like to use
- Click the 'Allow' button and copy the long code generated.
- Step 2: Go back to Duplicators interface and paste the code into the input titled Step 2
- Step 3: Click the 'Finalize Setup' button
- Duplicator is now authorized to access the following Google Drive account
- Click the 'Test Google Drive Connection' button to validate data can be moved between systems.
- Finally Click the "Save Provider" button to save this Google Drive storage endpoint
Overview:
Duplicator Pro can push your backups to the OneDrive cloud service. All packages are initially built on the local server and then pushed up to OneDrive using its API services.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
Authorization | This process will validate your OneDrive account and allow for Duplicator to communicate with OneDrive. Once validated the name and email associated with the OneDrive account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from OneDrive click the 'Cancel Authorization' button. This disassociates this storage provider with the OneDrive account. Note: If you have already logged into OneDrive via your browser then you may not be prompted for a username and password if the brower determines you are already logged in. |
Storage Folder | This is the folder on the OneDrive servers where packages will be stored. This should be unique for each web-site using Duplicator. |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues. |
Connection | Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: OneDrive
- Under Authorization: Click "Connect to OneDrive"
- Step 1 Click Authorize OneDrive
- This will open a new browser window/tab to OneDrive.com to login.
- OR -
If your are logged in this step will be skipped. - A unique code will be generated at snapcreek.com from onedrive.com. Copy this code.
- Under Authorization Step 2: Paste the unique code.
- Under Authorization Step 3: Click the "Finalize Setup" button
- Duplicator is now authorized to access the following OneDrive account
- Click the 'Test OneDrive Connection' button to validate data can be moved between systems.
- Finally Click the "Save Provider" button to save this OneDrive storage endpoint
Overview:
Duplicator Pro can push your backups to an FTP location. All packages are initially built on the local server and then pushed up to the FTP endpoint.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
CREDENTIALS | |
Server | The FTP server name. Please see your FTP server documents for the correct server name |
Port | The FTP server port. Please see your FTP server documents for the correct server port |
Username/Password | The FTP username/password. Please see your FTP server documents for the correct username/password |
SETTINGS | |
Storage Folder | The folder on the FTP servers where packages will be stored. This should be unique for each web-site using Duplicator. |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues. |
Timeout | How long should Duplicator wait when trying to connect |
SSL-FTP | Should the connection attempt to use FTPS to connect to the server. This option needs to be supported and configured correctly on the FTP server before it will work correctly. |
Passive Mode | Should this connection use FTP passive mode. |
Connection | Validate that the credentials and settings entered above are working. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: FTP
- Under Credentials: Enter in all the required FTP credentials
- Click the 'Test FTP Connection' button to validate data can be moved between systems.
- Finally Click the "Save Provider" button to save this FTP storage endpoint
- For connections issues see the FTP troubleshooting FAQ.
Overview:
Duplicator Pro can push your backups to an SFTP location. All packages are initially built on the local server and then pushed up to the SFTP endpoint. Please Note: That SFTP is not the same as FTP or FTPS. SFTP uses the SSH protocol for transferring files.Settings:
Item | Description |
---|---|
Name/Notes | The storage name and optional notes about the local server path |
CREDENTIALS | |
Server | The SFTP server name. Please see your SFTP server documents for the correct server name |
Port | The SFTP server port. Please see your SFTP server documents for the correct server port. The standard default port is 18765. |
Username/Password | The SFTP username/password. Please see your SFTP server documents for the correct username/password. Note: FTP accounts created on a cpanel host in general are not usable for SFTP accounts. |
Private Key | A private key file generated on your hosts server. Please contact or visit your hosts documentation for setting up a private key. |
Private Key Password | The password associated with the private key. Please contact or visit your hosts documentation for setting up a private key password. |
SETTINGS | |
Storage Folder | The folder on the SFTP servers where packages will be stored. This should be unique for each web-site using Duplicator. Note: This path must be setup ahead of time correctly for the test connection to work |
Max Packages | Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues. |
Timeout | How long should Duplicator wait when trying to connect |
Connection | Validate that the credentials and settings entered above are working. |
Step-By-Step:
- Create New Storage Provider: Duplicator > Storage > Add New
- Add Name and Notes and select Type: SFTP
- Under Credentials: Enter in all the required SFTP credentials
- Click the 'Test SFTP Connection' button to validate data can be moved between systems.
- Finally Click the "Save Provider" button to save this SFTP storage endpoint
- For connections issues see the SFTP troubleshooting FAQ.
Resources:
Question How can I limit the number of packages kept (e.g the last 20 builds)?
Answer Each storage location has a setting titled 'Max Packages'. When this limit is exceeded, the oldest package will be deleted. If set to 0 then no packages are removed. To enable goto Storage > Choose Package > Set Max Packages.
Because the max packages is tied to each storage endpoint the main packages screen will still contain an entry or audit trail of the transaction. For example ff the package the 'Default storage type' is set to say 3 'Max Packages' then only the 3 top most packages in the package screen will have a Download button that works because the local default packages have been removed.
Tools
Overview:
The logging tab shows the various log files that Duplicator generates. There are currently two types of log files, the first is the trace log which is only available in Pro. The second is the package log which is available in both Pro and Lite. Below is a synopsis for each file.- Trace Log: Pro The trace log file records all information that is going on at all times with the plugin. Since multiple requests can be executed by multiple users the trace log takes all communication from the plugin into consideration and logs that data. To further improve the full picture of all activity going on in PHP on the server (not just Duplicator Pro). There is an options in Settings ❯ General ❯ Debug labeled "Enhanced Tracing" screen. This option will also log all trace log activity to the PHP error log.
- Package Log: The package log is a log file that is generated for every package that is built. The log will show the progress and state of the package and will most errors/warnings that may happen during the creation of a package file.
Each log file is represented as a link. Click on the link name and the log will be visible in the output window. To update the log click the refresh button or have it auto refresh every 10 seconds by enabling the 'Auto Refresh' option.
Enhanced tracing is used for gather detailed information from your entire system. This option should only be enabled for a short time and is normally only used to debug any issues that might arise on your system. When "Enhanced Tracing" is enabled a notification link will show on the right corn of the screen as long as it is on.
Overview:
The diagnostics tab contains various sections that allow you to evaluate your servers setup. The various sections are each described below.Stored Data:
This section allows users to delete all reserved installation files after a fresh install has taken place. Other options to clean up various build and Duplicator cache files are available. All options that are stored in the WordPress options table pertaining to Duplicator Pro are visible. With some options having the ability to be reset.Server Settings:
This section contains various server settings that can be beneficial should you run into issues using the plugin. The settings are all organized into various categories. The section "PHP Information" is also a large sub-set of information produced by the phpinfo function.Scan Validator:
This utility will help to find unreadable files and sys-links in your environment that can lead to issues during the scan process. The utility will also show how many files and directories you have in your system. This process may take several minutes to run. If there is a recursive loop on your system then the process has a built in check to stop after a large set of files and directories have been scanned. A message will show indicated that that a scan depth has been reached.Overview:
The support tab contains various sections that allow you to quickly link-up to the FAQ system or knowledge base. Access to the help ticket system is also available here. Please note that there are different levels of support.- Lite: This allows anyone to get help with the free product. Response times can vary widely as all lite requests are handled after the pro users have been addressed. Response times can vary from 1-5 business days.
- Pro Personal: This support level is for all pro personal users. All tickets will be handled before Lite users, but after Pro Freelancer+ users. Response times for most requests will be within 2 days or less depending on the complexing of the response.
- Pro Freelancer/Business/Gold: This level includes all Freelancer/Business/Gold users. All tickets will be handled before Lite and Pro Personal users. Response times for most requests will be within 24 hours.
Overview:
The "Templates » All" screen is the main interface for managing all templates that have been created. Templates are used to profile out how a package will be built. Templates allow you to choose which files and database tables you would like to make as part of your backup process. It also allows for the installer to be pre-filled with the values of the template.Use Cases:
- Schedules: All schedules require templates to be used when running a schedule
- Profiling: There may be instances where you only want the database or the database with specific tables. There may be an instances where you only need the database with a certain subset of files. There are many different combinations that can make up your package and with templates you can easily and quickly assign these profiles when you start a build.
Overview:
The Add/Edit interface allows users to add and edit existing Templates. To quickly stub out existing templates use the "Copy From" action in the right hand corner of the screen.Archive:
Item | Notes |
---|---|
Name/Note | A short descriptive name for the package template. |
FILES | This section will mirror the same file/folder filter settings that can be assigned to a package when it is created. |
DATABASE | This section will mirror the same database table filter settings that can be assigned to a package when it is created. The 'Compatibility Mode' option is not available as a template setting. It can only be used when creating a new package. Please see the FAQ for a full overview of using this feature. |
Installer:
Item | Notes |
---|---|
SETUP | This section will mirror the same setup settings that can be assigned to the installer file setup process. |
STEP 1/2 | This section will mirror the same setup settings that can be assigned to an package installer file wizard setting when it is created. |
Also see: Packages » New - Step 1: Setup
Create Template
- Start: Goto Duplicator Pro ❯ Templates ❯ click the 'Add New' button in the upper right corner
- Copy From: This is an optional step that will allow you to copy from an existing template
- FILES: Apply any file filters to exclude specific file/directories/extensions
- DATABASE: Apply any table filters that should not be included as part of the package
- INSTALLER: Apply the installer setup values you would like to be applied to the package
- Save: Save the template by clicking the 'Save Template' button.
Apply Template
- Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Create New' button in the upper right corner
- Apply Template: The template you made in the step Create Template section above should be visible in the dropdown
- After selecting your template all of the values in the Archive and Installer section should reflect the values saved in the template
- To undo the applied template just select the [Unassigned] value and the package settings will default to its last created settings
Templates are also one of the key parameters when creating a schedule. Templates can be used to schedule a database backup everyday and a full site backup once a week. With templates you have the flexibility to customize the contents of your package.
Also see: Packages » New - Step 1: Setup
Also see: Schedules » Add/Edit
Settings
Overview:
The "Settings » General" screen is the main interface for managing all general settings for the plugin. There are currently two main sections "Plugin" and "Debug". The Plugin area controls settings related to the use and interaction of the plugin in the context of the WordPress enviroment. The Debug area is used to enable debug utilities.Schedules use predefined templates to run from. Templates allow you to choose which files and database tables you would like to make as part of your backup process. A schedule can also be tied to a storage endpoint and pushed upto the cloud as part of its runtime directive.
Details:
Item | Notes |
---|---|
PLUGIN AREA | |
Version | The current version of this plugin |
Uninstall | Delete Plugin Settings: By default when the plugin is removed all settings for the plugin are still saved. If you would like to remove all setting such as those found in the settings page or items like schedules and storage location then check the checkbox and when the plugin is deleted it will also remove all settings data. Delete Entire Storage Directory: By default when the plugin is removed all packages for the packages screen are still saved to disk. If you would like to remove all packages (installer.php and archive.zip files) then check the checkbox and when the plugin is deleted it will also remove all package files. |
Custom Roles | This enables integration with the User Role Editor Plugin. allowing Duplicator to have custom security roles. |
DEBUG AREA | |
Trace Log Pro Only | The trace log helps support better debug system issues. This setting should only be enabled if directed so by the snapcreek support team. |
Package Debug | Enable additional debug information on the packages screen. |
Overview:
This section will allow users to preview and test upcoming concepts the Duplicator team is working on, by enabling the various profiles which are:- Current Features: These are the current features that are available with this release.
- Beta Features: Features that can be tried but should not be used on production systems.
- Design Concepts: These are simply ideas that may or may not make it into the product.
Overview:
The Migrate Settings tab available only with Freelancer/Business/Gold licences allows users to move settings from schedules, storage, templates and global settings of one installed instance of Duplicator Pro to another installed instance of Pro. This feature can come in handy if you you don't want to re-create the setup environment after you have installed the plugin. This feature will only work with Duplicator Pro settings.Export/Import:
- Export: The export section allows users to export all schedules, storage locations, templates and settings from this Duplicator Pro instance into a downloadable export file. The export file can then be used to import data settings from this instance of Duplicator Pro into another plugin instance of Duplicator Pro or the same instance if your need to restore from a previous date.
After clicking the Export Data button the process will:- Export all schedules, storage and templates to a file for import into another Duplicator instance.
- For security purposes, restrict access to this file and delete after use.
- Import: The import section allows users to import settings from another Duplicator Pro plugin into another instance of Duplicator Pro. Schedule, storage and template data will be appended to current data, while existing settings will be replaced. Schedules depend on storage and templates so importing schedules will require that storage and templates be checked. The import process will:
- Append schedules, storage and templates if those options are checked
- Overwrite current settings data if the settings option is checked
Step By Step:
- Check Data: Be sure all your schedules, storages, templates, and settings data is setup to your liking
- Export: Navigate to Duplicator Pro ❯ Tools ❯ Data Tab and click the 'Export Data' button
- Save Export: Save the export.dup file to a safe location as it contains sensitive information
- Note location: Navigate to a different install unless your restoring a backup of a previous export
- Select File: Choose the *.dup file used from the 'Save Export' step
- Run Import: Click the 'Import Data' button and be sure to read all prompts
- Check Data: Validate that all data was updated and note the following:
- Schedule, storage and template data will be appended to the current data sets, if data exists. No data on these sections will be overwritten
- All Settings from the Duplicator Pro ❯ Settings menu including all tabs General, Packages, Schedules, Storage, Licensing will be overwritten
After the import is ran its import to review templates and local storages to ensure correct path values. The import will not convert any server or URL paths so these items should be checked and tested to make sure they are working as expected.
Overview:
The "Settings » Packages" screen is the main interface for managing all package related settings for the plugin. This includes items such as the main "Packages" screen and how a package is built and the processing rules used to build the package.Details:
Item | Notes |
---|---|
VISUAL | |
Created Format | This option controls the date format shown in the 'Created' column on the Packages screen. Use this option to display how the dates will be displayed |
Database | |
SQL Script | Duplicator can build the sites database script in two ways. The preferred and recommend approach is to use mysqldump. However some systems do not support this method for building, therefore users can still rely on PHP code to create the correct database script. MySQLDump: This is the recommend setting. On some setups users may have to provide a custom path to the mysqldump program. Add a custom path if the path to mysqldump is not properly detected or needs to be changed. In some cases you may have to contact your server admin or hosting provider for the correct path. PHP Code: This option should be used if mysqldump is not accessible or causing issues in your environment. On some budget hosts you may have to set the Query Limit Size to a lower setting. A higher limit size will speed up the database build time, however it will use more memory. If your host has memory caps start off low. |
Compression Pro Only | This setting controls archive compression. Turning compression off can improve build stability and speed but packages will be larger. Can be toggled when using ZipArchive on a PHP 7+ system of Shell Exec Zip. |
Archive Engine Pro Only | Duplicator can archive the sites files in two ways. The preferred and recommend approach is to use Shell Exec Zip or your system zip comman. However some systems do not support this method for building, therefore users can still rely on PHPs ZipArchive to create the correct database script. Shell Exec Zip: This is the recommend setting. To get Shell Exec zip working ask your host to install the zip executable and make it accessible to PHP via the shell_exec command. PHP ZipArchive : Use PHP code to zip up your files. For larger sites on budget hosts its recommended to use the 'Multi-Threaded' setting which processes the archive file in subsequent HTTP requests. If you have access to how long a PHP process is allowed to run then use the 'Single-Threaded' mode. This mode runs in the background without an interruptions and is faster than the 'Multi-Threaded' mode. The buffer size only applies to 'Multi-Threaded' requests. The buffer indicates how large an archive will get before a close is registered with the ZipArchive call. Higher values are faster but can be more unstable based on the hosts max_execution_time. DupArchive: Creates a custom archive format (archive.daf). This option is recommended for large sites or sites on constrained servers. |
Server Throttle Pro Only | It is recommended to keep this setting off unless you receive a notice from your host. The setting is used to throttle and prevent resource complaints on budget hosts. The higher the value the slower the backup. |
Max Build Time Pro Only | Max build and storage time until package is auto-cancelled. Set to 0 for no limit. |
Overview:
The "Settings » Packages" » Advanced screen is the main interface for managing all package related settings for the plugin. It is recommended that you do not modify advanced settings unless you know the expected result or have talked to support or are familiar with the setting.Details:
Item | Notes |
---|---|
Thread Lock | The lock type used to control atomic operations. The default is File and is recommended for most servers. |
JSON | The JSON sterilizer engine that should be used. |
AJAX | Controls how AJAX requests are made on this server. Used to kick off build worker. Only change if packages get stuck at start of build. |
Client-side Kickoff | Initiate package build from client. Only check this if instructed to by Snap Creek support. |
Basic Auth | Enable if your server requires basic auth connections |
Installer Name | The base name of the installer file. Only change if host prevents using installer.php |
Installer
Question How can I setup a staging site for my new site?
Answer When creating a staging site or just a copy of your existing site for testing or basically any reason there are a few rules we strongly encourage uses to follow.
- Avoid Nesting: In order to avoid possible conflicts between your sites it is important to separate your sites into completely separate folders. For example if you have a production site and a staging site the layout might look something like this were the public_html folder is your web servers root path.
/public_html/production_site/[worpress site 1 file/folders here]
Note: Do not place the staging_site in a or under the production_site directory
/public_html/staging_site/[worpress site 2 file/folders here] - Separate Databases:You must create separate databases for each site. So you might create a database named prod_db for the production site and another database named stage_db for the staging site. Never try to use the database for both sites.
- For a full overview of a staging site see the post How to Create a WordPress Staging Site
MultiSite Pro Only
The only difference between migrating a standalone site and a multisite is that the Duplicator Pro menu appears on the Network Admin menu in Duplicator Pro instead of the admin menu as is the case when Duplicator Pro runs on a standalone site. The procedure for package creation and installation is identical.
Subsite ❯ Standalone Step-By-Step:
- Create a package on your source machine, just as you would on standard single site.
- Copy the installer/archive to the new location and create your database and user
- Browse to the installer
- You will see a dropdown containing all the subsites in the package. Choose one and continue with the install.
- The subsite chosen in step 4 will be installed as a new standalone.
Notice: We are reworking the user guide. More sections will be back shortly.