Duplicate, backup and transfer an entire site from one location to another.
|Category 1||Admin Helpers|
Admin helper modules are those that provide helpful tools, UI enhancements or optimizations to the admin panel (excluding Fieldtype or Inputfield modules).
Modules that work with importing or exporting data.
|Category 3||Process Modules|
Process modules are apps that run in the ProcessWire admin.
|Category 4||Other Modules|
Modules that have a unique purpose not covered by existing categories.
Should be safe for use in production environments. *
|Date Added||December 1, 2017|
|Last Updated||April 9, 2018|
This module's files should be placed in /site/modules/Duplicator/
How to install or uninstall modules
- Download the module from the directory or Github
- Drop the module files in /site/modules/Duplicator/
- In your admin, click Modules > Refresh
- Click "install" for "Duplicator"
- Optional. Click "install" for "Duplicator - Packages Manager"
- Go to Setup > Duplicator and build your package!
You can skip these instructions if you plan to only use the built-in features
Local Folder or
If you want to use
AmazonS3, you have two choices of type of installation. Using Composer or downloading directly a ZIP archive from the repository.
Installing all SDK are not required, you can choose the one you need.
Dropboxdropped support for the version 1 of the API since september 2017 - api-v1-deprecation-timeline - so I removed it from Duplicator until I got the time to code an interface for the API v2
GoogleDrivetested the 2017-12-03
AmazonS3tested the 2017-12-03
In the root directory of your ProcessWire installation, just type in a terminal :
composer require google/apiclient
composer require aws/aws-sdk-php
After downloading the archive, open it, you will find a folder called
SDKs under each provider named directory. Extract or Upload this folder in the
Duplicator module folder. If the folder already exist, merge it. Example:
Download it from the Duplicator-SDKs repository.
Now you can refresh the Duplicator's settings page, the corresponding checkbox will be enabled.
Actually you have 3 choices to setup a cron job.
To edit a crontab through the command line, type:
cronjob -e then add for example the following line to build a package once a day :
4 0 * * * php /www/mysite/wwwroot/site/modules/Duplicator/cron.php >/dev/null 2>&1
You can rely on PwCron to setup the job.
4 0 * * * php /www/mysite/wwwroot/site/modules/PwCron/cron.php >/dev/null 2>&1
Because it's triggered by a pageview, this choice can slowdown your site - LazyCron documentation
Please look at this answer on stackoverflow to set up it: http://stackoverflow.com/questions/7195503/setting-up-a-cron-job-in-windows
If you are running CRON via a panel, please rely on the documentation of your hosting provider. Do not hesitate to ping on the support forum thread.
If this the case, you can rely on LazyCron module.
|Every 1 minute||*/1 * * * *|
|Every 15 minutes||*/15 * * * *|
|Every 30 minutes||*/30 * * * *|
|Every 1 hour||0 * * * *|
|Every 6 hours||0 */6 * * *|
|Every 12 hours||0 */12 * * *|
|Once a day||4 0 * * *|
|Once a week||4 0 * * 0|
|Once a month||4 0 1 * *|
Obtain credentials there: https://console.developers.google.com/apis/credentials
A tutorial is available on the forum : Duplicator Dev Thread
Obtain credentials there: https://console.aws.amazon.com/iam/home
A bucket name should conform with DNS requirements:
- Should not contain uppercase characters
- Should not contain underscores (_)
- Should be between 3 and 63 characters long
- Should not end with a dash
- Cannot contain two, adjacent periods
- Cannot contain dashes next to periods (e.g., "my-.bucket.com" and "my.-bucket" are invalid)
Timeout usually happen if you are on a low-end budget host with limitations. The easiest way to solve this issue, is to use directory filters on some of your larger directories like your
vendor, or even
bower_components directory to get the size down. Then reinstall the package at the new location and then FTP all the files over that you filtered.
Hosting Provider Issue List:
- 1and1 Shared hosting (resolved by using Filters)
- Dreamhost hosting (resolved using the
Archive Flushoption); Need to be tested again.
Duplicator is a module which duplicate and deploy your website on a new host. It can be used as backup utility too.
Duplicator will create a ZIP archive called
package bundled with a full database backup and all your files.
This package is stored on local disk or in the cloud and can be used to restore your website.
The package is also used in the deployment process.
Yes! Duplicator is compatible with ProcessWire 2.7.2, 2.8.x and 3.x.x.
Just download the SDK you are looking for from the repository.
Yes, simply click on the "Initiate Backup Process" button from the Package Manager.
Yes, in order to get it working, you are required to install
PwCron, then read our doc about setting up a cron job.
Without any problem. (Look at this answer to set up it: http://stackoverflow.com/questions/7195503/setting-up-a-cron-job-in-windows)
Yes, you can exclude a single file, filter them by extension or exclude a whole folder. Keep in mind that excluding core files or folder will not allow your deployed site to work.
Yes, the permission set is
duplicator. User with this permission can initiate a backup, download or sync a package. The module's settings is only accessible to
- Admin Helpers
- Core Modules
- Development Tools
- Field Types
- Input Fields
- Language Modules
- Language Packs
- Markup Generation
- Premium Modules
- Process Modules
- Proof of Concept
- Site Profiles
- Social, Feeds, Services
- Text Formatters
- Other Modules
- Users and Access
*Use modules at your own risk. There are no guarantees or warranties. It is recommended that you backup your site and database before installing new modules.