Note: This is alpha version, under heavy testing and development. You are welcome to try it out and provide feedback via GitHub Issues.
Watch Demo - https://www.youtube.com/watch?v=0a-nOuThBvY
To use the InstaWP SSH Migration tool, you'll need to download the PHAR file. You can do this easily with the following one-liner command:
curl -sSL https://github.com/InstaWP/ssh-migration/releases/download/latest/source.phar -o source.phar && php source.pharNote: If the size of the source files are large, it is advisable to use screen or tmux to run the command in the background.
It will upload your entire website to the InstaWP cloud storage and output the backup_id.
Options:
--exclude-paths=PATHS: Comma-separated list of paths to exclude from the migration. Supports wildcards (*) for matching multiple files or folders. Example:--exclude-paths=folder1,folder2/*,wp-content/plugins/some-plugin*--files_zip_path=PATH: Use an existing files zip instead of creating a new one. Example:--files_zip_path=/path/to/files.zip--db_zip_path=PATH: Use an existing database zip instead of creating a new one. Example:--db_zip_path=/path/to/db.zip--debug-upload=FILE: Upload a specific file to S3 for testing purposes. Example:--debug-upload=/path/to/file.zip--helpor-h: Display usage information and available options
To download the destination server PHAR file, you can use the following command:
curl -sSL https://github.com/InstaWP/ssh-migration/releases/download/latest/dest.phar -o dest.phar && php dest.pharThe destination server script accepts the same options as the source server script:
--exclude-paths=PATHS: Comma-separated list of paths to exclude--files_zip_path=PATH: Use an existing files zip--db_zip_path=PATH: Use an existing database zip--debug-upload=FILE: Test file upload functionality--helpor-h: Display usage information
To use the SSH Migration tool:
- Ensure PHP is installed on your system.
- Download the PHAR file as shown above.
- Make the PHAR file executable:
- Run the PHAR file:
php source.pharThis will execute the SSH Migration tool and guide you through the migration process.
This project is licensed under the MIT License. See the LICENSE file for more details.
- Added support for large files (over 2GB)
- Added support for
--files_zip_pathand--db_zip_pathoptions - Added support for
--debug-uploadoption
- Checksum verification issue
- Fixed corner cases for memory and chunked upload/download.
- Add meta.json to store the version and other metadata.
- Refactor the code to use the meta.json file.
- Checksum the files and verify after download.
- Check if the website is empty before starting the migration.
- Initial release