File Transfer
Transfer files between two servers in your Devpilot workspace. Track progress, review history, and retry failed transfers.
File Transfer
Devpilot lets you move files directly between two servers in the same workspace — a "local" source and a "remote" destination. Instead of downloading to your laptop and re-uploading, Devpilot orchestrates the copy between the two machines while you watch progress from the dashboard.
Open the File Transfer tab on the source server to start a transfer.
How Transfers Work
A transfer is a single logical job identified by a batch number. Each job records:
- Source server — the "local" server you initiate from.
- Destination server — the "remote" server files are sent to.
- Title and description — your own labels for the transfer.
- Working directory — the path Devpilot uses when resolving relative paths.
- Status — the current state of the transfer.
Individual file events for each batch are captured in a transfer log so you can inspect what was copied, what failed, and why.
Setting Up a Transfer
Open a new transfer
On the source server, open File Transfer and click New Transfer.
Pick source and destination
- Choose the destination server from the list of servers in your workspace.
- Set the working directory on the source (for example
/var/www/html). - Add the source paths — files or directories to include. Multiple paths are allowed in a single batch.
- Set the destination path on the target server. If the directory doesn't exist, Devpilot can create it during the transfer.
Configure options
Typical options include:
- Overwrite existing files — whether to replace files at the destination that have the same name.
- Preserve permissions — keep original file mode, ownership, and timestamps where possible.
- Compression — trade CPU for bandwidth when moving large amounts of data between distant regions.
Start and watch
Click Start Transfer. Devpilot opens the necessary SSH sessions, streams the files, and updates the UI with:
- Files copied out of total.
- Bytes transferred and current throughput.
- Estimated time remaining.
The transfer's batch entry stays in the list with its latest status.
Transfer History
Every transfer is recorded in the Transfer History on each server's File Transfer tab. Each entry shows:
| Field | Description |
|---|---|
| Date | When the transfer started. |
| Source / destination servers | The two endpoints. |
| Title | The label you gave it. |
| Working directory | The base path on the source. |
| Status | The final state (for example completed, failed, cancelled, in progress). |
Click an entry to open the detailed transfer log and see per-file events and any error messages.
Failed transfers
Typical reasons a transfer fails:
- Connection issues — Either endpoint is unreachable. Verify both servers are online and firewall rules allow the connection.
- Permission denied — The Devpilot user can't read the source path or write to the destination path. Check owner, group, and mode.
- Out of space — The destination disk filled up mid-transfer. Free space or pick a different destination path (see Storage).
- Path not found — A source path doesn't exist, or the destination directory is missing and auto-create is off.
You can rerun a failed transfer from the history entry — Devpilot re-executes it with the same configuration.
Managing In-Progress Transfers
Cancelling
Click Cancel while a transfer is running to stop it. Files already fully copied stay at the destination. Partially copied files may be incomplete.
Repeating
Open any completed transfer and click Repeat to run the same configuration again — useful for syncing updates. You can edit the configuration before starting.
For regular synchronization between two servers, set up a Script using rsync (or similar) and schedule it. That removes the need to click Repeat each time and gives you a proper logged execution history.
Best Practices
- Check destination disk space before starting a large transfer. Use the Storage tab or a quick
df -hin the Terminal. - Compress for long-haul transfers. For servers in different regions, compression usually shortens the wall-clock transfer time.
- Verify a sample on the destination after the transfer completes — at least spot-check permissions and a few file sizes match.
- Clean up source copies after one-off migrations so you don't duplicate storage costs.
Next Steps
Control Panel Integration
Devpilot detects hosting control panels on your server and integrates with them for app installs, credentials, and status.
Backups
Protect your databases, files, and server images with Devpilot backup plans — schedule them manually, on an interval, on cron, or in real time, and store them in any of seven destinations.