# Mover Overview

Mover by Files.com is a one-time file-migration service for moving unstructured data between cloud storage, collaboration services, and on-premises systems. It uses Files.com's transfer engine without requiring an ongoing platform subscription.

Each migration connects one source to one destination and copies data in one direction when you start the job. You can run the same migration again to pick up changes or retry failures, but Mover does not run on a schedule or keep two locations continuously synchronized.

## Getting Started

Read [How Mover Works](/how-mover-works) first. It explains the migration model, what a run compares, and what rerunning a job does.

Then [plan your migration](/migration-planning) and follow the [Migration Guide](/migration-guide). The guide takes you from connection setup through configuration, a free dry run, the live transfer, and final review.

Use [Migration Behavior](/migration-behavior) when you need exact rules for file matching, data integrity, filename compatibility, limits, performance, or provider rate limiting.

## What Mover Connects

Mover supports more than 20 connection types in three broad groups:

* [Cloud content platforms](/connections/cloud-content-platforms), including Box, Dropbox, Google Drive, OneDrive, and SharePoint.
* [Object storage](/connections/object-storage), including Amazon S3, Azure Blob Storage, Google Cloud Storage, and S3-compatible services.
* [File servers and protocols](/connections/file-servers-and-protocols), including FTP/FTPS, SFTP, WebDAV, Azure Files, and private storage reached through the Files.com Agent.

The source and destination do not need to use the same connection type. You can reuse a connection across several migrations when a project has multiple sources or destinations.

## When to Use Files.com Instead

Mover is designed for operator-initiated migrations. Choose [Files.com](https://www.files.com) when you need scheduled or event-triggered file movement, continuous synchronization, automated workflows, or an ongoing hybrid environment. The products share the same underlying transfer engine, but Files.com provides the orchestration needed for recurring work.


# How Mover Works

Mover performs manual, one-way file migrations using the Files.com transfer engine. Each migration joins one source connection to one destination connection and stores the folders, filters, source-file handling, runs, and results for that job.

A run has two main phases. Mover first lists the source and destination and compares items at matching paths. It then copies the files that are missing or different according to Mover's comparison rules. Folder listing is sequential, while file transfers run in parallel where the connections allow it.

Mover does not continuously watch either location. Files that change after a completed run are not transferred until you start the migration again. Rerunning the same job preserves its connections and options, compares the locations again, and transfers items that are still missing or now report a different size.

## Dry Runs and Live Runs

A dry run performs the listing, comparison, filtering, and validation work without copying or deleting data. Use it to estimate transfer usage and find problems before committing to the live run.

A live run performs the same comparison and then transfers eligible files. Only successfully transferred data counts against a usage pack. Mover records item-level successes, skips, and failures for review after the run.

## What Mover Preserves

Mover recreates the selected folder hierarchy and copies file content. Connection pages document important provider-specific conversions and limits that affect how an item arrives at the destination.

The [File Matching and Data Integrity](/migration-behavior/file-matching-and-data-integrity) reference explains exactly how Mover decides whether a file needs to transfer. Review [File and Folder Compatibility](/migration-behavior/file-and-folder-compatibility) before migrating between systems with different naming or case rules.

## Mover Compared With Files.com

Mover and Files.com share transfer behavior, but they provide different operating models. Mover is for migration projects that a person starts and reviews. Files.com adds schedules, event triggers, continuous synchronization, and automated workflows for recurring movement.


# Migration Planning

A successful migration begins with the source, destination, scope, and cutover plan. Decide those boundaries before creating jobs so dry-run results and usage estimates describe the work you actually intend to perform.

## Source and Destination

Confirm that Mover supports both systems in [Connections](/connections). The source account must be able to list and read everything in scope. The destination account must be able to create folders and upload files. Source deletion and some destination behaviors, including SharePoint's handling of uploaded Office files, also require write access to the source.

Use a Files.com Agent connection when storage is on a private network or is not reachable from Mover over the internet. Use a direct protocol connection only when the server is publicly reachable and its firewall accepts Mover's traffic.

## Migration Approach

Use one migration for a direct cutover when the full source fits within Mover's folder limits, the providers can sustain the transfer, and users can stop changing the data during the final run.

For a large source, divide the work into non-overlapping jobs by starting folder or include and exclude patterns. Run the batches one at a time, verify each result, and use a final rerun to pick up changes made before cutover. This approach reduces the effect of provider throttling and makes failures easier to isolate.

When several sources feed one destination, create a separate migration for each source and choose destination paths that cannot collide. When one source must be copied to several destinations, create a separate migration for each destination. Connections can be reused across those jobs.

## Compatibility and Limits

Review [File and Folder Compatibility](/migration-behavior/file-and-folder-compatibility) for case-only duplicates, unsupported characters, maximum folder size, and maximum folder depth. Then check both connection pages for provider-specific file-size limits, conversions, permissions, and locking behavior.

Collaboration services such as Box, Dropbox, Google Drive, and SharePoint can take substantially longer than object storage because their APIs may throttle large migrations. Use [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits) to choose batch boundaries and reduce competing activity.

## Verification and Cutover Plan

Run a dry run for every job. Resolve permanent failures and confirm that the selected paths and patterns describe the intended scope. Purchase usage only after the estimate is stable.

Choose when users and applications will stop changing the source. After the final live run, review every failure and use a separate checksum or inventory process when the project requires content-level verification. Do not delete or decommission the source until the destination has passed your acceptance checks.


# Migration Guide

This guide follows one migration from preparation through final review. A migration connects one source to one destination, stores the options for that job, and keeps the history and file-level results from each run.

Read [How Mover Works](/how-mover-works) and [Migration Planning](/migration-planning) before beginning a large or consequential transfer.

## Connections

Create one connection for the source and one for the destination. Start with [Connections](/connections) to choose the correct connection type and confirm its credentials, permissions, accessibility, and provider-specific behavior.

The source connection needs permission to list and read every item in scope. The destination needs permission to create folders and upload files. If the migration will delete source files, or if SharePoint is the destination, the source must also be writable.

## Migration Configuration

Create a migration, choose the source and destination connections, and select the starting folder on each side. Use [Migration Options](/migration-guide/migration-options) to limit the transfer with include or exclude patterns and to decide whether successfully transferred source files should be kept or deleted.

## Dry Run

[Run a dry run](/migration-guide/dry-runs) before transferring data. The dry run lists both sides, applies the migration settings, estimates transfer usage, and exposes many permission, naming, case, and limit problems without copying or deleting files.

## Usage Pack

Use the dry-run estimate to choose a prepaid [usage pack](/billing-and-usage-packs#usage-packs). Dry runs and failed transfer attempts do not consume transfer usage; only data that is successfully transferred counts.

## Migration Run

[Start the live migration](/migration-guide/migration-runs) after reviewing the dry run and purchasing enough usage. Mover reports progress and file-level activity while the run is in progress.

## Results and Reruns

[Review the completed run](/migration-guide/results-and-reruns), correct permanent failures, and rerun the same migration when you need to retry temporary failures or pick up source changes. Mover does not schedule reruns or continuously synchronize the two systems.

Files.com Support can help configure Mover connections and migrations, review dry-run results, explain usage pack balances, and troubleshoot errors. Support is included at no extra cost.

Email `support@files.com` or call (800) 286-8372.


# Migration Options

The *Options* step controls which files are selected and what happens at the source after a successful transfer.

## Source Files After Migration

This setting determines what happens to source files after they migrate successfully. Keeping source files supports a parallel transition. Deleting them frees source storage. When deletion is enabled, Mover can also remove source folders that become empty.

## Include and Exclude Patterns

The Include Patterns and Exclude Patterns options selectively migrate specific items from the source to the destination. If no patterns are provided, the entire contents of the source are migrated. Include Patterns define which files and folders are transferred. Exclude Patterns define which files and folders are skipped. If a file matches both, the exclusion takes precedence.

Patterns use case-insensitive, accent-insensitive glob matching. Hidden filenames beginning with a period are included when they match a pattern.

* A single asterisk (`*`) matches folders or files at a specific level.
* A double asterisk (`**`) matches all subfolders recursively.
* A question mark (`?`) matches any single character.
* Square brackets (`[]`) match sets or ranges of characters.
* Curly brackets (`{}`) match alternatives, so `{Mon,Tue,Wed}` matches any file whose name contains one of those abbreviated weekdays.
* A bracket expression can match a literal wildcard character, so `[?]` matches a question mark.

File names can be matched using wildcards or extensions, including `*.pdf` for all PDF files.

Patterns can be applied to paths, filenames, or both. `path/to/*.pdf` matches all PDF files in the specified folder. `**/_202{4,5}_.pdf` matches PDF files across any folder whose name contains either 2024 or 2025. Multiple include and exclude patterns may be set for a single migration, and folder exclusions apply recursively to all contents of the excluded folder.


# Dry Runs

A dry run previews a migration without copying or deleting data. It lists the source and destination and applies the same path matching, size comparison, filters, and filename validation as a live run. It reports file and folder counts, estimated transfer size, and conditions such as excluded patterns, case conflicts, unsupported filenames, excessive folder depth, or too many items in one folder. Dry runs do not count against your [usage pack](/billing-and-usage-packs).

The scan still makes listing and metadata requests to both connections. A provider can therefore rate-limit a dry run even though no file data is transferred. If that happens, use the batching recommendations in [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits).

A dry run is a snapshot, not a reservation. Files added, removed, renamed, or changed after the scan affect the live run. Mover does not compare checksums during a dry run, so a source and destination file with the same name and reported size is treated as already present even if their contents differ.

Run a dry run before every live migration. Review the file-level results to confirm that filters work as intended, resolve errors, and choose a [usage pack](/billing-and-usage-packs#usage-packs) based on the expected transfer size.


# Migration Runs

Start the live migration only after reviewing its [dry run](/migration-guide/dry-runs) and confirming that your [usage pack](/billing-and-usage-packs#usage-packs) has enough transfer capacity.

When the run begins, Mover lists the source and destination, compares their contents, and copies the files that need to be transferred. Folder listing happens in sequence, while file transfers run in parallel where possible. Files can arrive in any order.

Mover reports the amount of data moved, the number of files processed, and file-level activity while the migration is running. Options such as deleting successfully transferred source files or removing empty source folders are applied as the relevant files complete.

Avoid changing files in scope or running another migration against the same locations while the job is active. Concurrent changes can produce locks, repeated transfers, or an incomplete copy. This is especially important when the migration deletes successfully transferred source files.

Temporary provider and network errors are retried automatically. A run can take longer than its data size suggests when it contains many small files or when a provider limits requests. See [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits) for Mover's retry behavior and planning recommendations.

When the run finishes, continue to [Results and Reruns](/migration-guide/results-and-reruns).


# Results and Reruns

Each migration keeps results for its dry runs and live runs. After a run finishes, use its summary and detailed log to understand what Mover processed, identify problems, and decide whether another run is needed.

## Run Results

Open the migration's *Runs* tab and select a *Run ID*. The run history distinguishes dry runs from live runs and shows their start time, completion time, status, and total size. The selected run's *Results* summary also shows the number of files and folders compared and the run time. *Total Size* is the data successfully transferred in a live run, or the estimated transfer size in a dry run.

The overall run status summarizes the outcome. *Partial Failure* means some operations succeeded and at least one failed. *Success* means the run finished without a reported failure; it can still contain skipped items or require no transfers because matching files already exist. Review the detailed messages before treating the migration as complete.

## Migration Log

The detailed log is available when the run finishes. It records transfer results, folder creation, source deletion when enabled, skipped items, and problems encountered while listing or processing files and folders. These entries explain the actions Mover took and the conditions that prevented work from completing.

| Column    | Meaning                                                                                                                       |
| --------- | ----------------------------------------------------------------------------------------------------------------------------- |
| *Date*    | When the log entry was recorded, rather than the file's modified time.                                                        |
| *Status*  | The outcome of that action: *Success*, *Skipped*, or *Failure*. This column is shown for live runs.                           |
| *Type*    | Whether the entry concerns a file or folder, when available.                                                                  |
| *Message* | The reason for the action, skip, or failure. Read it together with the status.                                                |
| *Path*    | The file or folder involved in the action. Read it with the message to understand which operation was attempted.              |
| *Size*    | The file size associated with the entry, when available. A folder or deletion entry does not represent transferred file data. |

For live runs, use the *Status* filter to narrow entries to *Success*, *Skipped*, or *Failed*. The counts beside these statuses count log entries, which can include folder operations and more than one action for a file. They are not counts of unique transferred files. Large logs remain paginated even when status filtering is unavailable.

### Messages and Outcomes

A successful entry with the message "File did not exist on destination" records a transfer to a missing destination file. "File already existed on destination" records a transfer that replaced an existing file because its reported size differed. "Folder did not exist on destination" records folder creation. When source deletion is enabled, "Deleted file from source" is a separate result from the transfer. A successful transfer and a failed source deletion can therefore appear for the same file.

*Skipped* means Mover did not complete the action. The message distinguishes an intentional exclusion from a condition that needs attention. Examples include include or exclude patterns, duplicate names that differ only in case, a file that changed during the transfer, or a lock on the remote system. Review skips as well as failures so that an unintended exclusion or naming conflict does not leave required files behind.

A failed entry provides the available error message and affected path, such as for a permission, filename, size, or folder-limit problem. Errors that concern the whole run can have no path or item type. A folder-listing failure can prevent Mover from discovering the files beneath that folder, so it does not necessarily produce a separate failure row for every affected file. Temporary errors are [retried automatically](/migration-behavior/performance-and-rate-limits); individual retry attempts are not separate entries in the results table.

### Log Coverage

The log records actions and problems rather than a complete inventory of both locations. Comparing a file does not by itself create an entry. For example, when source files are kept, a file already present at a matching destination path with the same reported size needs no transfer and produces no separate result row. If source deletion is enabled, that same comparison can instead result in a source-deletion entry. Files inside an excluded folder are not each listed as separate skips.

Read the log together with the run summary and the migration's [file-matching rules](/migration-behavior/file-matching-and-data-integrity). An empty log can mean there was nothing to transfer; it does not establish that every source file was copied during that run.

### Dry-Run Results

A [dry run](/migration-guide/dry-runs) uses the same log columns except *Status*. Its entries describe proposed actions and any problems found during the scan. Messages about destination files or folders describe why an action would be needed, and "Would delete file from source" previews source deletion. No files are copied or deleted. The estimated size helps plan transfer usage, but a successful dry run does not prove that a later upload or deletion will succeed.

## Correction or Rerun

Temporary rate limits, locks, provider interruptions, and network errors can clear without a configuration change. Run the same migration again after the temporary condition ends.

Permission errors, unsupported names, oversized files, folder-limit failures, and case conflicts require a source, destination, connection, or migration-setting change before another run can succeed. Correct the underlying problem first, then rerun the existing migration.

## What a Rerun Transfers

A rerun lists and compares the source and destination again. Files that are still missing or report a different size transfer. Files at matching paths with the same reported size are skipped, even if their modified times or contents differ.

Use reruns to retry failed items, pick up source changes, or complete a phased migration. Mover does not schedule these runs automatically or continuously synchronize the two locations.

## Cutover Completion

Review the final results and perform any separate inventory or checksum validation required by your project. Do not delete or decommission the source until the destination has passed those checks and users or applications have been redirected to the new location.


# Migration Behavior

These transfer rules remain the same across the guided workflow. Use them to predict whether an item transfers, evaluate a dry-run result, plan around provider limits, or diagnose a slow or partial migration.

## File Matching and Data Integrity

[File Matching and Data Integrity](/migration-behavior/file-matching-and-data-integrity) explains how Mover compares paths and file sizes, what it does not compare, and when it detects a source file changing during a run.

## File and Folder Compatibility

[File and Folder Compatibility](/migration-behavior/file-and-folder-compatibility) covers case and accent matching, duplicate names, invalid path characters, folder item limits, and maximum folder depth.

## Performance and Rate Limits

[Performance and Rate Limits](/migration-behavior/performance-and-rate-limits) explains the factors that determine migration duration, which cloud content platforms commonly throttle requests, how Mover responds, and which controls are available to the operator.

Provider-specific behavior remains on each page under [Connections](/connections).


# File Matching and Data Integrity

Mover compares source and destination paths without regard to case or accents. At a matching path, it uses the item type and reported file size to decide whether a transfer is needed.

A file transfers when it is missing from the destination or when the source and destination report different sizes. When a file with the same name and size already exists, Mover leaves it in place. Modified time and checksum are not used to decide whether the file needs to transfer.

This comparison depends on both systems reporting file sizes accurately. An incorrect size can cause Mover to skip changed content or repeatedly transfer a file that is already present. When the project requires content-level verification, validate the destination with a separate checksum or inventory process after the migration.

For Amazon S3, Azure Blob Storage, and Google Cloud Storage sources, Mover also detects when a file changes after the run starts. It skips the changing file rather than transferring a partial version. Rerun the migration after the source file is stable.

Rerunning a migration repeats the comparison. It transfers files that are missing or report a different size, but it does not recopy same-size files merely because their modified times or contents changed.

See [File and Folder Compatibility](/migration-behavior/file-and-folder-compatibility) for the way case-only duplicates and unsupported names affect path matching.


# File and Folder Compatibility

Source and destination systems can disagree about valid names, letter case, path depth, and how many items a folder can contain. Review these rules before moving data between unlike systems.

## Case and Accent Matching

Mover compares names without regard to case or accents. It treats names such as `Report.csv` and `report.csv` as the same path even when a provider can store both.

When several source or destination items have the same normalized name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Rename case-only or accent-only duplicates before the live migration.

## Unsupported Names

Mover cannot transfer names containing a backslash or null character, or path components with trailing whitespace. A provider can impose additional filename, reserved-name, path-length, or file-type restrictions. The relevant connection page documents known provider-specific behavior.

## Folder Limits

Mover supports up to 100,000 items in one folder and a maximum folder depth of 50 levels. A folder beyond either limit is recorded as a failure. Even below the item limit, smaller folders usually list faster and are less likely to time out on collaboration services.

A [dry run](/migration-guide/dry-runs) is the safest way to find naming conflicts and folder-limit failures before data is transferred.


# Performance and Rate Limits

Migration duration depends on the number of folders that must be listed, the number and size of files, network latency, both connections' performance, and limits imposed by the remote services. A migration containing many small files can take longer than a migration with the same total data in a few large files.

## Provider Rate Limiting

Every remote service can limit requests, but Box, Dropbox, Google Drive, and SharePoint are especially likely to throttle a migration with many files. Throttling can affect either direction because Mover uses the provider's API to list, inspect, download, and upload items. A rate-limited run can remain in progress for much longer than its data size alone suggests.

When a service returns a recognized rate-limit or connection-limit response, Mover reduces the number of simultaneous operations and retries the affected action after progressively longer delays. If the service continues rejecting the action after the automatic retries, Mover records the item as failed and the run can finish with a partial failure. Rerunning the migration retries files that are still missing or report a different size.

Google Drive lookups require complete folder listings because Drive permits duplicate filenames. Box performance also declines as folders grow. These migrations can take substantially longer than migrations between object-storage services such as Amazon S3, Azure Blob Storage, or Google Cloud Storage.

## Controls Available in Mover

Mover does not expose scheduling or concurrency controls for Box, Dropbox, Google Drive, or SharePoint. The *Max Connections* setting on FTP and SFTP connections applies only to those server types. The Files.com Agent's `transfer_rate_limit` setting is a customer-applied bandwidth cap and does not control a cloud provider's API limits.

To reduce the effect of provider throttling:

* Divide a large source into non-overlapping migrations by selecting narrower source paths or using include and exclude patterns. Run the batches one at a time.
* Avoid running several migrations against the same provider account or folders at once. Other applications using the account can consume the same provider quota.
* Run migrations when users and other integrations are making fewer changes to the source and destination.
* Use a dry run for each batch, then review and rerun failed items rather than recreating the entire project as a new migration.
* Check the provider account or license plan when throttling persists. Some providers assign different limits by account or plan without publishing an exact threshold in advance.

A dry run still makes listing and metadata requests and can itself be rate-limited. Apply the same batching and activity recommendations to slow dry runs.


# Connections

Connections identify the source and destination systems for a migration. Each migration uses one source connection and one destination connection, but a saved connection can be reused across several jobs.

Choose a connection according to how the storage is exposed and which service owns its behavior. A provider-specific connection should be preferred when one exists because it presents the fields, authentication method, and restrictions for that service.

## Cloud Content Platforms

Use a [cloud content platform](/connections/cloud-content-platforms) connection for Box, Dropbox, Google Drive, OneDrive, or SharePoint. These services use OAuth and have provider-specific behavior for rate limits, file formats, duplicate names, locks, or uploaded Office files.

## Object Storage

Use an [object storage](/connections/object-storage) connection for Amazon S3, Azure Blob Storage, Google Cloud Storage, or an S3-compatible provider. These connections normally use bucket or container credentials and generally provide the best performance for large migrations.

## File Servers and Protocols

Use [file servers and protocols](/connections/file-servers-and-protocols) for Azure Files or for a publicly reachable FTP/FTPS, SFTP, or WebDAV server. Use the Files.com Agent when the storage is on a private network or cannot accept a connection from Mover over the internet.

## Connection Changes and Deletion

Provide a label that distinguishes each connection when you create it. Mover then asks for the credentials, server or storage location, and connection-specific settings it needs.

You can edit a connection's label and type-specific settings later, but you cannot change its type. Create a new connection when you need to replace one provider or protocol with another.

To delete a connection, edit its settings and choose the delete option. A connection cannot be deleted while a migration still uses it.

Files.com Support can help configure Mover connections and migrations, review dry-run results, explain usage pack balances, and troubleshoot errors. Support is included at no extra cost.

Email `support@files.com` or call (800) 286-8372.


# Cloud Content Platforms

Cloud content platforms combine file storage with collaboration features and provider-managed APIs. Mover connects directly to Box, Dropbox, Google Drive, OneDrive, and SharePoint through OAuth.

Create the connection with an account that can reach every source or destination item in scope. The account's provider permissions still apply when Mover uses it. Saving an OAuth connection does not grant access that the account does not already have.

These platforms can impose API rate limits, and some represent files differently from an ordinary filesystem. Review the provider page before running a dry run:

* [Box](/connections/cloud-content-platforms/box) documents permissions, folder-size performance, throttling, and the destination file-size limit.
* [Dropbox](/connections/cloud-content-platforms/dropbox) documents throttling and provider filename or file-type restrictions.
* [Google Drive](/connections/cloud-content-platforms/google-drive) documents Google Workspace file conversion, duplicate filenames, unsupported path characters, and listing performance.
* [OneDrive](/connections/cloud-content-platforms/onedrive) documents personal and business account connections.
* [SharePoint](/connections/cloud-content-platforms/sharepoint) documents throttling, locked files, and the way SharePoint can modify an uploaded Office file.

Mover has no provider-specific concurrency setting for these connections. Use [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits) to plan large migrations and interpret slow runs.


# Box

## Connections

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

Mover uses OAuth to connect to this service. Save the connection, then select *Connect Your Account* and sign in directly with the provider. Mover receives an authorization token and does not store your provider password.

## Multiple Box Accounts

You can add multiple Box Connections, each associated with a different Box account.

Your browser may automatically select an existing Box session when you add another account. Sign out of Box in the browser before adding the new connection if you need to authenticate as a different user.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Not Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

## Migration Limits and Performance

Box applies API rate limits and accepts data more slowly than object-storage services such as Amazon S3. Throttling can slow a migration both from and to Box because Mover uses the Box API to list, inspect, download, and upload items. Mover automatically reduces parallel work and retries recognized rate-limit responses with increasing delays. See [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits) for planning recommendations.

Folder size also affects Box listing and API performance. Folders with 250 to 500 items provide the most stable migration behavior. Performance can become noticeably slower near 1,000 items, with further degradation likely beyond that, so divide larger folders before migrating when possible.

Mover cannot upload a file larger than 15 GB to a Box destination. A dry run records oversized files before the live transfer.

## Troubleshooting

### Insufficient Permissions

Make sure the permissions of the Box user account are correct. Mover can only perform actions that are allowed for the Box user, so the connected account needs "Editor" permissions or higher.

Some actions are not allowed for Box "Viewer" permissions unless the user performs those actions on the Box platform itself. A "Viewer" action that succeeds on the Box platform will not succeed for the same user when they access Box through Mover.

### Disabled Connection

Because Box uses the OAuth authorization protocol, authentication can fail later even after your Connection and Migration have run successfully for some time.

Once you've resolved the problem that caused the authentication error, re-enable your Connection by saving its configuration. Saving the record causes Mover to re-enable the connection so that any associated Migrations will begin working again, even when no fields have changed.


# Dropbox

## Connections

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

Mover uses OAuth to connect to this service. Save the connection, then select *Connect Your Account* and sign in directly with the provider. Mover receives an authorization token and does not store your provider password.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Not Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

## Rate Limiting

Dropbox throttles requests from external integrations. A migration can be rate-limited when Dropbox is either the source or destination because Mover uses the Dropbox API to list, inspect, download, and upload items. Upload-heavy migrations are especially likely to be constrained by the rate Dropbox accepts.

Mover automatically reduces parallel work and retries recognized rate-limit responses with increasing delays. If Dropbox continues rejecting an item after those retries, the run records a failure that can be retried by running the migration again. Mover does not expose a Dropbox concurrency setting, so use smaller, non-overlapping batches and run them one at a time. See [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits).

Dropbox also restricts some filenames and file types. Run a dry run and rename or exclude unsupported items before the live migration.


# Google Drive

## Connections

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

Mover uses OAuth to connect to this service. Save the connection, then select *Connect Your Account* and sign in directly with the provider. Mover receives an authorization token and does not store your provider password.

Mover can access the connected account's personal drive, Shared Drives, and folders that other Google Drive users have shared with the account.

## Migration Destination

When Google Drive is the destination, select `My Drive`, a writable Shared Drive, or a folder within a drive, such as `My Drive/Incoming`. The top level of the connection lists drives and shared content; it is a browsing level and cannot receive files.

The migration's *Destination Path* is required for Google Drive. Leaving it blank selects the read-only connection root, which Mover rejects when creating or editing a migration. Selecting a path does not establish write permission: the connected Google account must be able to upload files to the selected drive or folder. The connection root can still be used as a migration source.

## Google Workspace Files

Google Docs, Sheets, and Slides are not stored as ordinary downloadable files. Mover exports them to Microsoft Office formats during migration: Docs become `.docx`, Sheets become `.xlsx`, and Slides become `.pptx`.

When migrating between two Google Drive accounts, Mover uses an internal `.google-apps` marker while processing the converted file and removes that marker before uploading it to the destination. A source Google Sheet named `Budget` therefore arrives as `Budget.xlsx`. It is not converted back into a native Google Sheet.

## Duplicate and Unsupported Names

Google Drive permits several files in one folder to have the same name. A filesystem migration cannot represent those files as distinct paths, so Mover skips case-insensitive duplicate names and records the conflict in the run log. Rename the files in Google Drive before rerunning the migration.

Google Drive also permits `/` and `\` in filenames, but Mover treats those characters as path separators or invalid path characters. Rename files containing either character before migration.

## Rate Limiting and Listing Speed

Google Drive can rate-limit migrations in either direction. It also does not use filenames as unique identifiers, so Mover must list an entire folder to resolve a file by name. Large folder trees can therefore take a long time to scan even when only a small amount of data needs to move.

Mover automatically reduces parallel work and retries recognized rate-limit responses with increasing delays. Mover does not expose a Google Drive concurrency setting. Divide large migrations into non-overlapping source paths or include-pattern batches and run them one at a time. See [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits).

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# OneDrive

## Connections

Adding a OneDrive connection has two steps: save the connection, then sign in to OneDrive and authorize Mover to access your files.

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

Choose the type of account, either Business or Personal OneDrive account, and then save the entry to continue.

Mover uses OAuth to connect to this service. Save the connection, then select *Connect Your Account* and sign in directly with the provider. Mover receives an authorization token and does not store your provider password.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Not Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# SharePoint

## Connections

Adding a <code class="expression">page.vars.VENDOR\_NAME</code> connection is a two-step process. First, you save a new connection. After the connection is saved, you log into <code class="expression">page.vars.VENDOR\_NAME</code> to grant Mover access to your files.

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

Mover uses OAuth to connect to this service. Save the connection, then select *Connect Your Account* and sign in directly with the provider. Mover receives an authorization token and does not store your provider password.

## Migration Destination

When SharePoint is the destination, select a document library or a folder inside one. A destination such as `companyname.sharepoint.com/sites/MySite/Shared Documents` selects the site's default document library; `companyname.sharepoint.com/sites/MySite/Shared Documents/Incoming` selects a folder within it. The default library appears as `Shared Documents` in the path even when SharePoint displays it as *Documents*.

The connection root and site levels let you browse to libraries; they cannot receive files. The migration's *Destination Path* is required for SharePoint, and Mover rejects an empty destination path when creating or editing a migration. A site path by itself, such as `companyname.sharepoint.com/sites/MySite`, is also not a writable file destination. A nonempty path still needs to identify a library or folder where the connected account can upload files; accepting the path does not confirm write permission.

The connection root can be used as a migration source. A [OneDrive](/connections/cloud-content-platforms/onedrive) connection points directly to a drive and supports a root destination.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Not Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

## SharePoint Changes to Uploaded Files

SharePoint can add metadata to an uploaded Office file, changing its size after Mover delivers it. Mover detects the size change and copies the SharePoint-modified version back to the migration source so later runs do not transfer the file repeatedly. The run log records this as a `sync_remote_resync` operation.

This is the one situation in which a migration configured to keep source files can still write to the source. When SharePoint is the destination, make sure the source connection is writable. Otherwise, the resync fails and later runs can repeatedly transfer the same file.

Files that are checked out, open in Microsoft Office Online, or otherwise locked in SharePoint cannot be migrated until the lock is released.

## Rate Limiting

[Microsoft applies throttling limits to SharePoint Online](https://learn.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online), and the applicable limit can depend on the Microsoft 365 license plan. A migration with many files can reach the limit whether SharePoint is the source or destination.

Mover automatically reduces parallel work and retries recognized throttling responses with increasing delays. If SharePoint continues rejecting an item after those retries, the run records a failure that can be retried by running the migration again. Mover does not expose a SharePoint concurrency setting, so use smaller, non-overlapping batches and run them one at a time. See [Performance and Rate Limits](/migration-behavior/performance-and-rate-limits).


# Object Storage

Object storage connections are designed for bucket or container services. They generally handle large migrations more efficiently than collaboration platforms because they expose direct storage APIs without the same document-collaboration layer.

Mover provides dedicated connections for:

* [Amazon S3](/connections/object-storage/amazon-s3)
* [Azure Blob Storage](/connections/object-storage/azure-blob-storage), including containers that use Azure Data Lake Storage Gen2 hierarchical namespaces
* [Google Cloud Storage](/connections/object-storage/google-cloud-storage)

Use [S3-Compatible Storage](/connections/object-storage/s3-compatible-storage) for another service that implements the S3 protocol. Mover also provides named S3-compatible connection forms for [Akamai Linode](/connections/object-storage/s3-compatible-storage/akamai-linode), [Backblaze B2](/connections/object-storage/s3-compatible-storage/backblaze-b2), [Cloudflare R2](/connections/object-storage/s3-compatible-storage/cloudflare-r2), [Filebase](/connections/object-storage/s3-compatible-storage/filebase), and [Wasabi](/connections/object-storage/s3-compatible-storage/wasabi).

Object storage connections require a bucket or container and provider credentials. Prefer credentials scoped to the migration's required paths and actions. A source-only connection can use read-only access; a destination must allow object creation, and source deletion requires delete permission.

Amazon S3, Azure Blob Storage, and Google Cloud Storage sources support additional detection when a source object changes during a run. See [File Matching and Data Integrity](/migration-behavior/file-matching-and-data-integrity).


# Amazon S3

AWS S3 connections let you move files to or from your S3 buckets.

## Connections

Create a new connection and choose AWS S3 as its type.

Provide a *Connection Label* so you can identify the connection in a list. This matters most when you have more than one connection of the same type, like two S3 buckets used as separate endpoints in the same workflow.

### Bucket Details

Enter the name of the bucket to use for the connection.

Choose the AWS Region where your bucket resides.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3. We recommend using AWS IAM to create an IAM user just for Mover.

After generating the IAM User, copy its Access Key and Secret Key to your Connection.

### Advanced Settings

If your S3 user policy does not have access to the entire bucket, or is restricted to specific subfolders only, then verification of access to the bucket may fail when testing credentials.

Use the advanced setting for *Can these credentials access the root of this remote or are they restricted to a subfolder?* to specify a subfolder that can be used to verify access when testing your credentials.

## Required Permissions for IAM User

### Minimal Permissions for Full Access

If you are copying data to this connection, apply a policy to the IAM user to grant it full permissions to the bucket being used. These permissions represent the minimum required for Mover to function correctly with your S3 bucket.

To use the below example, replace `<Your IAM User ID>` with the 12 digit IAM ID of the user, replace `<Your IAM User Name>` with the IAM user name of the user, and replace `<bucketname>` with your bucket name.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<Your IAM User ID>:user/<Your IAM User Name>"
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::<bucketname>",
        "arn:aws:s3:::<bucketname>/*"
      ]
    }
  ]
}
```

### Permissions for Read-Only Access

If your S3 bucket is read-only, or if the connection will only be used as a source connection, you can use this S3 user policy to set the IAM user's access to the bucket (replace `<bucketname>` with your bucket name):

```
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetBucketLocation"
         ],
         "Resource": [
           "arn:aws:s3:::<bucketname>",
           "arn:aws:s3:::<bucketname>/path/to/subfolder/*"
         ]
      }
   ]
}
```

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Azure Blob Storage

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Account Details

*Account* - The name of your Azure Storage Account, as shown in your *Microsoft Azure web portal > Home > Storage Accounts* page.

*Container* - The name of your Azure Container, as shown in your *Microsoft Azure web portal > Home > Storage Accounts > selected storage account > Data Storage > Containers* page.

Check the box for *Use Hierarchical Namespace (Azure Data Lake Storage Gen2)* only if you have enabled the [hierarchical namespace](https://learn.microsoft.com/en-us/azure/storage/blobs/create-data-lake-storage-account#enable-the-hierarchical-namespace) option for your Azure Container.

### Credentials

Mover can authenticate to <code class="expression">page.vars.VENDOR\_NAME</code> using either an Access Key or SAS Token. If you're using *Access Key*, copy the value from your *Microsoft Azure web portal > Home > Storage Accounts > selected storage account > Access Keys.* For the SAS Token, copy the value from your *Microsoft Azure web portal > Home > Storage Accounts > selected storage account > Shared Access Signature* page.

### Advanced Settings

If your credentials do not have access to the entire container, or are restricted to specific subfolders only, then Mover may not be able to verify the connection works.

When you do not have access to the entire container, use the advanced setting for *Can these credentials access the root of this remote or are they restricted to a subfolder?* to specify a subfolder that can be used instead.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Google Cloud Storage

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Enter the name of the bucket to use for the connection.

The Project ID is the unique identifier for your Google Cloud project. Mover uses it to identify which project's resources to interact with.

### Credentials

Provide the JSON key for a Google Cloud service account that can access the bucket. Create and download the key from Google Cloud; see [Google's service account key documentation](https://cloud.google.com/iam/docs/keys-create-delete).

### Advanced Settings

If your credentials do not have access to the entire bucket, or are restricted to specific subfolders only, then Mover may not be able to verify connection to the bucket.

When you do not have access to the entire bucket, use the advanced setting for *Can these credentials access the root of this remote or are they restricted to a subfolder?* to specify a subfolder that can be used instead.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# S3-Compatible Storage

Mover's S3-compatible connection type lets you connect to private cloud services that speak the S3 protocol, including IBM Cloud, Oracle Cloud, Minio, and DigitalOcean Spaces.

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Enter the name of the bucket to use for the connection.

Enter the API endpoint for the bucket.

Enter the region where the bucket resides if the provider requires it.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3. Check your storage provider's documentation for how to create the access key and secret key.

## Case Sensitivity

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

Check the documentation on your storage provider to determine whether you need to account for case sensitivity differences.


# Akamai Linode

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Enter the name of the bucket to use for the connection.

Choose the Region where your bucket resides.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3.

*Access Key* — the Linode Object Storage *Access Key*, as shown in your *Linode web portal > Object Storage > Access Keys* page.

*Secret Key* — the *Secret Key* that corresponds to the above Access Key, which was shown to you when you first created the *Access Key*.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Backblaze B2

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially useful when you have more than one connection of the same type.

### Bucket Details

Enter the name of the bucket to use for the connection.

Enter the endpoint for your Backblaze bucket. It will have a format like `https://s3.<region>.backblazeb2.com`.

### Credentials

Mover uses an access key and secret key to authenticate S3 requests. In Backblaze B2, these values are named *Key ID* and *Application Key*.

You can use the Backblaze web console to create Application Keys (or App Keys) for this connection. We recommend generating separate keys for each bucket, rather than one key for all buckets. You can also grant read/write access or limit it to read-only; Mover needs read/write access to copy files to the bucket.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Cloudflare R2

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Enter the Cloudflare R2 bucket name shown under *R2 > Overview* in the Cloudflare dashboard.

For *Cloudflare Endpoint*, enter the URL listed as *S3 API* in the Cloudflare dashboard. Do not append the bucket name.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3.

*Cloudflare Access Key* - The Cloudflare R2 Access Key ID, as shown in your *Cloudflare web portal > My Profile > API Tokens* page, or in your *Cloudflare web portal > R2 > Overview > Manage R2 API Tokens* page.

*Cloudflare Secret Key* - The Secret Access Key that corresponds to the above Access Key ID, as shown in your *Cloudflare web portal > My Profile > API Tokens* page, or in your Cloudflare web portal > R2 > Overview > Manage R2 API Tokens page.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Filebase

Mover connects to Filebase buckets through Filebase's S3-compatible interface. Filebase stores data using IPFS, the InterPlanetary File System.

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Fill the *Filebase Bucket Name* with the name of your bucket from your *Filebase web portal > Buckets* page.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3.

Use the [Access Keys dashboard](https://docs.filebase.com/api-documentation/s3-compatible-api#access-keys) in your Filebase account to create and manage your keypair.

Enter the key in *Filebase Access Key* and the secret in *Filebase Secret Key*.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Wasabi

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Bucket Details

Fill the *Wasabi Bucket Name* with the name of your bucket as shown in the Wasabi Management Console.

Enter the region code for your bucket. For example, if your region URL is `us-east-1.s3.wasabisys.com`, then your region code is `us-east-1`.

### Credentials

Mover uses an Access Key and Secret Key to authenticate requests, following the protocol established by AWS for S3.

In the Wasabi Management Console, create an access key and assign it to a user who has access to your bucket. Store the Access Key and the Secret Key in the credentials section in your new connection in Mover.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# File Servers and Protocols

Mover can connect to file servers directly over a supported protocol or through the Files.com Agent. The right method depends primarily on whether Mover can reach the server over the public internet.

Use a direct [FTP/FTPS](/connections/file-servers-and-protocols/ftp-ftps), [SFTP](/connections/file-servers-and-protocols/sftp), or [WebDAV](/connections/file-servers-and-protocols/webdav) connection when the server has a publicly resolvable address and its firewall permits the required traffic. Prefer an encrypted protocol and keep server identity verification enabled. FTP and SFTP connections expose a *Max Connections* setting for servers that need a lower connection count.

Use [Azure Files](/connections/file-servers-and-protocols/azure-files) for a Microsoft Azure file share.

Use the [Files.com Agent](/connections/file-servers-and-protocols/files-com-agent) for local disks, network-attached storage, or other storage on a private network. The Agent makes an outbound connection, so it does not require an inbound firewall rule. Install it on a host that can reach the migration data and choose a root folder that limits what the connection can access.

The server or host filesystem determines case sensitivity and can impose additional filename, path-length, locking, and permission behavior. Review [File and Folder Compatibility](/migration-behavior/file-and-folder-compatibility) and run a dry run before the live transfer.


# Files.com Agent

The Files.com Agent connects Mover to servers that aren't directly accessible over the public internet, including on-premises file servers. With the Files.com Agent, you can migrate files to and from a host's local disks and drives, and from network-attached storage the host can reach over CIFS, SMB, or NFS.

## Connections

Adding an Agent connection has three parts: save the connection in Mover, download its configuration file, and install the Agent as a service on the host system.

### New Agent Connection

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This matters most when you have more than one connection of the same type, since the label is what tells them apart.

#### Agent Configuration

Choose the *Agent Permissions* that Mover should have on the host system. Select *Read and Write* when the Agent will be a migration destination. Select *Read Only* when it will only be a source.

Set *Agent Root Folder* to an existing path on the host system. The connection can access only files and folders within this root.

Save the Connection to continue.

### Configuration File

Edit the Agent connection in Mover and select *Download Configuration File*. The file contains the connection credentials and Agent settings, including logging and automatic updates.

### Agent Installation

Download the Agent executable from the [official download page](https://filescorp.hosted-by-files.com/builds/files-agent-server/latest). Choose the build for the host operating system and architecture, save it with the configuration file, and install the Agent as a system service on [Windows](/connections/file-servers-and-protocols/files-com-agent/windows-installation), [macOS](/connections/file-servers-and-protocols/files-com-agent/macos-installation), or [Linux](/connections/file-servers-and-protocols/files-com-agent/linux-installation).

### Connection Status

After you install and start the Agent service, check the connection in Mover. A *Connected* status means the connection is ready to use.

If the status is *Waiting for connection*, verify that the Agent service is running on the host.

## Case Sensitivity

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

Check the documentation on your host system to determine if you need to account for case sensitivity differences.


# Windows Installation

Install the Files.com Agent as a Windows service so it starts at boot, runs without a user session, and restarts after a failure.

## Root Path

Verify that the `root` setting in the [configuration file](/connections/file-servers-and-protocols/files-com-agent/agent-configuration-file) uses either a local drive path (for example, `C:\path\to\folder`) or a UNC path to an accessible network drive (for example, `\\servername\c$\path\to\folder`).

Microsoft advises using [UNC paths instead of mapped network drives for system services](https://learn.microsoft.com/en-us/windows/win32/services/services-and-redirected-drives) because mapped drives can cause security and reliability problems. Mapped drives are shared across accounts, so other services may gain unintended access.

## Service Account Permissions

The Windows service account running the Agent needs the right permissions to access the folder defined in the configuration file's `root` setting.

For most environments, a named Active Directory account is the best practice. Configure the service to log on as this account and verify that it exists on both the Agent host system and any remote system the UNC path references. This account must also have the "[Log on as a service](https://learn.microsoft.com/en-us/system-center/scsm/enable-service-log-on-sm)" privilege. The Agent can only access the `root` items that the selected user account has permissions to access. If you choose a local system user account instead, verify the same account exists and has appropriate access on both systems.

## MSI-Based Service Installation <a href="#msi-based-service-installation" id="msi-based-service-installation"></a>

For a 64-bit x86 Windows system, download the MSI installer from the [Agent download page](https://filescorp.hosted-by-files.com/builds/files-agent-server/latest).

Place the MSI file in the same folder as the Agent configuration file before installation. Once you've updated the [configuration file](/connections/file-servers-and-protocols/files-com-agent/agent-configuration-file), run the MSI to install the Agent as a service.

After installation, you'll find the configuration file at `C:\Program Files\Files.com-Agent\files_agent_config.toml`.

## Command-Line Service Installation <a href="#command-line-service-installation" id="command-line-service-installation"></a>

You can also install the Agent as a Windows service by using the command:

```powershell
files-agent.exe service install --config C:\path\to\files_agent_config.toml
```

When you install the Agent this way, the executable and configuration file stay in their current locations. After installation, start the service from the command line by running:

```powershell
files-agent.exe service start
```

If you need to update the configuration file, stop the service first, make your changes, and then restart the service.

To stop it via the command line, use:

```powershell
files-agent.exe service stop
```

To remove the Agent service from the system, use the command:

```powershell
files-agent.exe service uninstall
```


# macOS Installation

On macOS, you install the Files.com Agent as a service so it starts automatically when the system powers on or reboots, and so it restarts itself if the agent program needs to recover from a problem. Running the Agent as a service is what makes the connection reliable across restarts and crashes.

## Root Path

Before you install the Agent as a service, set the `root` setting in the configuration file to either a local drive path (`/path/to/folder`) or a path to an accessible mounted network drive (`/mnt/path/to/folder`).

## Agent Download

Download the agent executable for your system from the [official download location](https://filescorp.hosted-by-files.com/builds/files-agent-server/latest). Choose the version with "macos" in the name that matches your architecture and save it to the same location as your configuration file on the host system.

## Service Installation

To install the Agent as a `launchd` service on macOS, run:

```bash
files-agent service install --config /path/to/files_agent_config.toml
```

This method keeps the executable and configuration file in their original locations.

Start the service with:

```bash
files-agent service start
```

If you update the configuration file, stop the service, make your changes, and restart it.

Stop the service with:

```bash
files-agent service stop
```

Remove the service with:

```bash
files-agent service uninstall
```


# Linux Installation

Running the Files.com Agent as a system service starts it automatically at boot and keeps it running independently of user logins.

## Root Path

Before you install the Agent as a service, make sure that the `root` setting in the configuration file uses either a local drive path (such as `/path/to/folder`) or a path to an accessible mounted network drive (such as `/mnt/path/to/folder`).

## Agent Download

Download the agent executable for your system from the [official download location](https://filescorp.hosted-by-files.com/builds/files-agent-server/latest). Choose the version that matches your architecture and operating system and save it to the same location as your configuration file on the host system.

## Service Installation

To install the Agent as a service on a Linux system, run the following command:

```bash
files-agent service install --user-service=false \
  --config /path/to/files_agent_config.toml
```

Start the service with:

```bash
files-agent service start
```

If you modify the configuration file, stop the service, make your updates, and then restart it.

To stop the service, use:

```bash
files-agent service stop
```

When you're ready to remove the Agent service, run:

```bash
files-agent service uninstall --user-service=false
```

## Optional systemd Installation <a href="#alternative-installation-method-for-linux" id="alternative-installation-method-for-linux"></a>

If the Linux system uses `systemd`, you can install the Agent by creating a service unit. For another init system, follow that system's service documentation.

Create a file at `/lib/systemd/system/files-agent.service` with the following content:

```ini
[Unit]
Description=Files.com Agent v2
ConditionFileIsExecutable=/usr/bin/files-agent

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/bin/files-agent "start" "--config" "/path/to/files_agent_config.toml" "--log_file" "/path/to/files-agent.log"
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target
```

Replace the `ExecStart` paths (config file and log file) with the correct locations for your configuration and log files.

After creating the service file, install and enable it using:

```bash
sudo systemctl enable files-agent
```

Start the service with:

```bash
sudo systemctl start files-agent
```

To change the configuration, stop the service, edit the configuration file, then restart the service.

Stop the service with:

```bash
sudo systemctl stop files-agent
```

Remove the service with:

```bash
sudo systemctl disable files-agent
```


# Agent Configuration File

Mover generates a Files.com Agent configuration file when you create the Agent connection. Download it from the connection's setup page.

The file uses [TOML](https://toml.io/) syntax and can be reviewed and customized by the system administrator before the Agent starts.

Prior to use, the system administrator can review and update the following fields of the TOML file:

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><code>root</code></td><td valign="top">The top-level directory the Agent can access. Enclose the path in single quotes, such as <code>'/path/to/agent/folder'</code>, <code>'C:\windows\folder'</code>, <code>'/mnt/otherserverfolder'</code>, or <code>'\\networkservername\c$\folder'</code>. The user or service account running the Agent must have access to the path. Mount network locations on the host before starting the Agent.</td></tr><tr><td valign="top"><code>permission_set</code></td><td valign="top">The Agent's access level. Valid values are <code>read_write</code>, <code>read_only</code>, and <code>write_only</code>.</td></tr><tr><td valign="top"><code>follow_links</code></td><td valign="top">Whether the Agent can follow links to folders outside <code>root</code>. Valid values are <code>true</code> and <code>false</code>. The default is <code>false</code>.</td></tr><tr><td valign="top"><code>auto_update_policy</code></td><td valign="top">How the Agent installs updates. Valid values are <code>always</code>, <code>critical_only</code>, <code>manual_trigger</code>, and <code>never</code>. The default is <code>always</code>.</td></tr><tr><td valign="top"><code>override_max_concurrent_jobs</code></td><td valign="top">The maximum number of jobs the Agent processes at once. The default is <code>500</code>. Increase this value only after testing the host's available memory and I/O capacity.</td></tr><tr><td valign="top"><code>show_hidden_files</code></td><td valign="top">Whether the Agent can access hidden files and folders on Windows. Valid values are <code>true</code> and <code>false</code>. The default is <code>false</code>.</td></tr></tbody></table>

Do not edit or change any other fields in the configuration file unless asked to by our Support team.

The other fields of the configuration file are described in the following table:

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><code>id</code></td><td valign="top">The unique ID for this Agent connection. Do not edit it.</td></tr><tr><td valign="top"><code>private_key</code></td><td valign="top">The private key that authenticates this Agent. Do not edit or disclose it.</td></tr><tr><td valign="top"><code>subdomain</code></td><td valign="top">The Files.com <a href="https://www.files.com/docs/settings-and-usage/interface/custom-domain/custom-subdomain">custom subdomain</a> associated with the Agent.</td></tr><tr><td valign="top"><code>prefer_protocol</code></td><td valign="top">The preferred connection protocol. The Agent uses UDP by default and falls back to TCP when UDP is unavailable. Set this to <code>tcp</code> to use only TCP.</td></tr><tr><td valign="top"><code>dns</code></td><td valign="top">The DNS lookup method. Valid values are <code>auto</code>, <code>doh</code>, and <code>system</code>. The default <code>auto</code> method tries public DNS before falling back to system DNS. <code>doh</code> uses DNS over HTTPS through <code>https://cloudflare-dns.com</code>; <code>system</code> uses the host's DNS settings.</td></tr><tr><td valign="top"><code>proxy_all_outbound</code></td><td valign="top">Whether all Agent connections are proxied through Files.com. Enable this when network policy prevents the Agent from connecting directly to external services.</td></tr><tr><td valign="top"><code>endpoint_override</code></td><td valign="top">The <a href="https://www.files.com/docs/settings-and-usage/interface/custom-domain">custom domain</a> the Agent uses when connecting to Files.com.</td></tr><tr><td valign="top"><code>log_file</code></td><td valign="top">The log file name and location. When blank, the Agent uses its <a href="https://www.files.com/docs/integrations/on-premise/agent/agent-logs">default log location</a>.</td></tr><tr><td valign="top"><code>log_level</code></td><td valign="top">The minimum severity written to the Agent log. Valid values are <code>debug</code>, <code>info</code>, <code>warn</code>, <code>error</code>, and <code>fatal</code>. The default is <code>info</code>; <code>debug</code> produces the largest and most detailed logs.</td></tr><tr><td valign="top"><code>log_rotate_num</code></td><td valign="top">The number of rotated log files to retain. The default is <code>5</code>.</td></tr><tr><td valign="top"><code>log_rotate_size</code></td><td valign="top">The log file size in MB that triggers rotation. The default is <code>20</code>. A value of <code>0</code> uses the default.</td></tr><tr><td valign="top"><code>graceful_shutdown_timeout</code></td><td valign="top">The number of seconds allowed for in-progress tasks to finish during shutdown. The default is <code>15</code>. A value of <code>0</code> uses the default.</td></tr><tr><td valign="top"><code>transfer_rate_limit</code></td><td valign="top">The Agent upload and download bandwidth cap. The default is unlimited. Set a limit when the Agent must avoid saturating a constrained network. This setting does not control rate limits imposed by a cloud provider.</td></tr></tbody></table>


# Azure Files

## Connections

Create a new connection and choose <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Account Details

*Azure Files Account* - The name of your Azure Storage Account, as shown in your *Microsoft Azure web portal > Home > Storage Accounts* page.

*Azure Share Name* - The name of your Azure file share, as shown in your *Microsoft Azure web portal > Home > Storage Accounts > selected storage account > File shares* page.

### Credentials

Mover can authenticate to <code class="expression">page.vars.VENDOR\_NAME</code> with an access key or SAS token. Copy the access key from *Home > Storage Accounts > selected storage account > Access Keys* in the Azure portal. Copy the SAS token from *Home > Storage Accounts > selected storage account > Shared Access Signature*.

### Advanced Settings

To connect to Azure Files storage in US Government Azure, set the advanced setting for the *Azure DNS Suffix* to `core.usgovcloudapi.net`.

## <code class="expression">page.vars.VENDOR\_NAME</code> is Not Case Sensitive

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# FTP/FTPS

Mover can connect to servers that accept FTP or FTPS connections.

## Connections

Add a new connection and select FTP as the connection type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important if you need more than one connection of the same type.

### Server

Enter a publicly resolvable fully qualified domain name or IP address that Mover can reach.

Use the default port value of 21 for FTP unless you know the FTP server requires an alternate port. The other commonly used port, 990, typically means that the server requires SSL using the Implicit method. When using port 990, you also need to select *Require SSL (implicit)* under the SSL selection.

### Credentials

Enter the username that will be used for the FTP connection, and provide the password. FTP connections do not support the use of SSH/SFTP keys for authentication.

### SSL

You can customize how Mover will use SSL on this connection.

Choose *Require SSL (explicit)* or *Require SSL (implicit)* when encryption is required. *Use if available* can fall back to plain FTP when the server does not offer TLS.

Choose *Never use SSL* only when the server does not support FTPS. Plain FTP sends credentials and file contents without encryption.

### Server Certificate

The TLS certificate helps Mover verify the identity of the FTPS server and detect attempts to impersonate it.

By default, Mover requires the certificate to match the connection hostname and chain to a trusted certificate authority. You can relax this requirement for a self-signed or non-matching certificate, but doing so weakens server identity verification.

### Max Connections <a href="#maximum-number-of-connections" id="maximum-number-of-connections"></a>

You can configure a maximum number of connections to the FTP server that Mover will open at once. We recommend the default value of 25, which provides a high level of parallelism and improves performance.

Some server administrators will request that you reduce this number to reduce the pressure on their server. Reducing it too low will reduce performance because requests may have to wait for a free connection before they are able to complete.

Mover will use best efforts to honor the maximum number specified here, though it may still burst above this number on certain occasions, such as when moving the connection to another one of our gateway servers internally. As a cloud-based service, we often reconfigure our network in real time to provide optimized performance. If we ever temporarily exceed the configured maximum, expect the connection count will return to the specified number promptly.

## Case Sensitivity

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

Check the documentation on your storage providers to determine if you might need to account for case sensitivity differences.

## Troubleshooting

Make sure your connection info matches the required settings of your FTP server. The FTP protocol supports distinct methods and a variety of options that determine whether a client application can connect. If your connection is misconfigured, Mover won't be able to access your files.

### FTPS Methods

FTPS is TLS/SSL-secured FTP. It has been implemented in two non-compatible methods.

The current recommended method is [Explicit FTPS](https://en.wikipedia.org/wiki/FTPS#Explicit), which implements TLS on standard FTP ports, starting with TCP port 21.

The older, deprecated method is [Implicit FTPS](https://en.wikipedia.org/wiki/FTPS#Implicit), which implements TLS on TCP port 990.

Confirm which method of FTPS your server uses, and make sure your connection matches the requirements.

### SSL Certificate Validity

By default, Mover expects the FTPS server certificate to match the connection hostname, be valid for the current date, and chain to a trusted certificate authority.

If the certificate does not meet those requirements, configure the FTP connection to allow an untrusted certificate only after verifying the certificate and understanding the security tradeoff.

If you're not sure if the server's certificate is fully valid, there are many online tools available for checking the validity of a site's certificate, such as the [SSL Shopper SSL checker](https://www.sslshopper.com/ssl-checker.html) and the [DigiCert SSL certificate checker](https://www.digicert.com/help/).

### Firewalls

The FTP(S) server may be behind a firewall that only allows connections from specified IP addresses. If a firewall is blocking Mover's IP addresses, the firewall must be updated to allow Mover to connect.

Mover connects to the FTP(S) server using Passive (PASV) Mode. In this mode, the FTP(S) server indicates which ports to use in order to traverse any firewalls.

### Partial Connectivity

The FTP protocol uses different connection ports for Control and for Data. The Control channel is used for authentication and for control messages, such as navigating folders, listing folder contents, and setting transmission options. The Data channel is used for the transmission of file content.

If you can connect, navigate folders, and list folder contents, but not upload or download file content, then it's most likely that a firewall is blocking the PASV Data channels. A common symptom of this is having a zero-byte file created whenever an upload or download is attempted. Contact the operator or administrator of the firewall and ask them to ensure that all PASV ports are open on their firewall.


# SFTP

Mover can connect to publicly reachable SFTP servers. FTP or FTPS may provide higher throughput for some migrations; use [FTP/FTPS](/connections/file-servers-and-protocols/ftp-ftps) when the server supports it and the security settings meet your requirements.

## Connections

Add a new connection and select SFTP as the connection type.

Provide a *Connection Label* so you can identify the connection in a list. This is especially important when you have more than one connection of the same type.

### Server

Enter a publicly resolvable fully qualified domain name or IP address that Mover can reach.

The default port for SFTP is 22. Use an alternate port only if you know the SFTP server requires it.

### Credentials

Enter the *Username* that you use for connecting to your SFTP server.

Mover supports authenticating with a password, a private SSH key, or both.

#### Authenticating with Password Only

Choose this option if you log into your SFTP server with a password and do not need to supply an SSH key.

Enter your password in the *Password* field of the connection. Your password is encrypted and stored securely within the Mover platform.

#### Authenticating with Existing Private Key Only

Choose this option if you connect to the SFTP server with an SSH key that you already have.

Upload the private key that Mover will use to log into the server. Your private key is encrypted and stored securely within the Mover platform.

#### Authenticating with New Private Key Only

Choose this option if you will connect to the SFTP server with an SSH key that does not yet exist.

Mover generates a 4096-bit RSA key pair and stores the private key encrypted within the Mover platform.

The public portion of the new key is presented to you, with options to copy it to your clipboard and to download it. The public key must be installed on the SFTP server before you can connect. Send the public key to the server's administrator.

#### Authenticating with Both Password and an Existing Private Key

Choose this option if you connect to the SFTP server with both a password and an SSH key, and you already have the key.

Enter your password in the *Password* field of the connection.

Upload the private key that Mover will use to log into the server.

Your password and private key are encrypted and stored securely within the Mover platform.

#### Authenticating with Both Password and a New Private Key

Choose this option if you connect to the SFTP server with both a password and an SSH key, and the key does not yet exist.

Enter your password in the *Password* field of the connection.

Mover generates a 4096-bit RSA key pair.

Your password and private key are encrypted and stored securely within the Mover platform.

The public portion of the new key is presented to you, with options to copy it to your clipboard and to download it. The public key must be installed on the SFTP server before you can connect. Send the public key to the server's administrator.

### Host Key Verification

Host Key Verification is set to *Require server host key to match* by default. If the server's host key changes, Mover disables the SFTP connection until you verify and update the stored host key. This protects against man-in-the-middle attacks in which another system impersonates the server.

You can change this to *Allow non-matching server host keys*, which may be required in rare cases. This behavior is insecure and not recommended.

### Server Host Key

You can configure a *Server Host Key* for the SFTP server. If you do not provide one at setup, Mover automatically detects the server's host key the first time it connects and stores it for you.

The Server Host Key is not used for user authentication. It is a cryptographic identifier of the SFTP server that confirms each connection reaches the same server.

### Max Connections <a href="#maximum-number-of-connections" id="maximum-number-of-connections"></a>

You can configure a maximum number of connections to the SFTP server that Mover opens at once. We recommend the default value of 25, which provides a high level of parallelism and improves performance.

Some server administrators will request that you reduce this number to reduce the pressure on their server. Reducing it too low reduces performance, because requests may have to wait for a free connection before they can complete.

Mover uses best efforts to honor the maximum number specified here, but the connection count may temporarily burst above it when Mover moves the connection to another gateway server internally. As a cloud-based service, Mover reconfigures its network in real time to optimize performance. After any temporary excess, the connection count returns to the specified number promptly.

## Case Sensitivity

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.

Check the documentation on your storage providers to determine if you need to account for case sensitivity differences.

## Troubleshooting

Verify that you are using the correct SFTP settings for your connection. Check that the server hostname, port, and authentication information are correct.

Confirm that the outbound server is an SFTP server. The default SFTP port is 22, though some servers use a customized port. If the connection information you received specifies port 21 or 990, the server is an FTP/FTPS server, not SFTP.


# WebDAV

WebDAV extends HTTP with operations for working with files on a remote server. Mover can use a publicly reachable WebDAV server as a migration source or destination.

## Connections

Create a new connection and select <code class="expression">page.vars.VENDOR\_NAME</code> as its type.

Provide a *Connection Label* so you can identify the connection in a list.

### Server

Add the *Hostname* for your WebDAV server. The *Hostname* is a fully qualified domain name, not including any protocol prefix or path.

The default *Port* value of `443` is used for HTTPS. Only use an alternate port if the WebDAV server requires it. The other commonly used remote port, 80, typically means the server does not support SSL, in which case select `http://` instead of `https://` under protocol.

Indicate whether the *Protocol* for the connection is `http://` or `https://`. The standard configuration uses `https` for the *Protocol* and `443` for the *Port*.

### Authentication

Mover can authenticate with a username and password or a TLS client certificate.

### Server Certificate

By default, Mover expects the WebDAV server certificate to match the connection hostname, be valid for the current date, and chain to a trusted certificate authority.

If the certificate does not meet those requirements, configure the connection to allow an untrusted certificate only after verifying the certificate and understanding the security tradeoff.

If you're not sure whether the server's certificate is fully valid, online tools are available for checking the validity of a site's certificate. The [SSL Shopper SSL checker](https://www.sslshopper.com/ssl-checker.html) and the [DigiCert SSL certificate checker](https://www.digicert.com/help/) are two options.

## Case Sensitivity

Check how the source and destination handle letter case before starting a migration. On a case-sensitive system, `MyFile.txt` and `myfile.txt` can be two different files. A case-insensitive system treats those names as the same file.

Mover compares paths without regard to case or accents. When several source or destination items have the same case-insensitive name, Mover skips the duplicates and records the conflict in the run log. A single source file can overwrite a destination file whose name differs only by case when their reported sizes differ. Review the dry-run results and remove case-only duplicates before executing the migration.


# Billing and Usage Packs

<code class="expression">space.vars.MOVER</code> uses prepaid [usage packs](#usage-packs). Purchase the transfer capacity and validity period that fit your migration. The balance decreases as data is transferred and remains available until the pack expires; there is no subscription.

## Usage Packs

Usage packs range from 100 GB to 10 TB. Choose a pack after running a dry run so its capacity reflects the amount of data Mover expects to transfer.

To purchase a new package, open the *Usage Packs* page in your <code class="expression">space.vars.MOVER</code> dashboard, choose a package size, and check out.

Each usage pack expires after its stated validity period, calculated from the purchase date. Unused transfer capacity is no longer available after expiration.

## Payment Method

<code class="expression">space.vars.MOVER</code> supports payment by credit card or by PayPal.

Add your payment method on the *Billing* page in your account.

Usage packs are charged to the selected payment method at the time of purchase.

## How Data Transfer is Calculated

Only data that is actually transferred during a migration counts toward your usage. Files that are skipped based on your settings do not count as usage. Failed transfer attempts (from connectivity issues, permission errors, and similar problems) do not count as usage.

Running a dry run does not count as usage.

## Usage Pack History

The *Purchase History* page shows the usage packs you have purchased. The table includes:

<table><thead><tr><th width="291.38671875">Column</th><th>Contents</th></tr></thead><tbody><tr><td>Package</td><td>The size of the usage pack</td></tr><tr><td>Purchased</td><td>When the pack was purchased</td></tr><tr><td>Expiration</td><td>How many days until the usage pack expires</td></tr><tr><td>Used</td><td>Amount of transfer used</td></tr><tr><td>Remaining</td><td>Amount of transfer remaining</td></tr><tr><td>Status</td><td><em>Active</em> if the pack is not expired and has remaining usage.<br><em>Used</em> if there is no transfer remaining for the pack.<br><em>Expired</em> if the pack's expiration date has passed.</td></tr></tbody></table>


# Profile and Account

Your <code class="expression">space.vars.MOVER</code> profile contains your account and contact information. Update it from the *Profile* page.

## Accessing Your Profile

Your *Profile* page is reachable from the main account menu. The profile is organized into three tabs for different types of account information.

Changes you make to your profile take effect immediately.

### Account Tab

On the *Account* tab, you can change your name and your phone number.

### Email Tab

Your email address is used for account login, notifications, and billing receipts. When you enter a new email address, you must also provide your current account password for verification. Requiring the password protects your account from unauthorized changes to login-critical information.

When you change your email address, your account data and migration history remain unchanged.

### Password Tab

On the *Password* tab, you can update the password you use to log into <code class="expression">space.vars.MOVER</code>. You must provide your current password as verification when you choose a new password.

Changing your password in your profile does not affect any of your Connections.

<code class="expression">space.vars.MOVER</code> enforces password rules to help keep your account secure.

Files.com Support can help configure Mover connections and migrations, review dry-run results, explain usage pack balances, and troubleshoot errors. Support is included at no extra cost.

Email `support@files.com` or call (800) 286-8372.


