{
  "schema": "https://storagestudio.us/schema/wiki-page.v1",
  "title": "Files that change while they're being transferred",
  "slug": "files-that-change-during-a-transfer",
  "url": "https://storagestudio.us/wiki/files-that-change-during-a-transfer",
  "markdown_url": "https://storagestudio.us/wiki/files-that-change-during-a-transfer.md",
  "category": "Data Transfers",
  "category_url": "https://storagestudio.us/wiki/data-transfers/",
  "tags": [
    "data transfers",
    "sync",
    "troubleshooting"
  ],
  "summary": "A file that is still being written while it's copied — a growing log, an open download — doesn't match by the time the copy ends. Storage Studio finishes everything else, fetches those files once more, and leaves any still changing for the next run.",
  "published_at": "2026-10-01T06:15:49.000Z",
  "updated_at": "2026-10-01T05:33:54.000Z",
  "headings": [
    {
      "level": 2,
      "text": "What happens",
      "id": "what-happens"
    },
    {
      "level": 2,
      "text": "When it's reported as a failure instead",
      "id": "when-it-s-reported-as-a-failure-instead"
    },
    {
      "level": 2,
      "text": "How to avoid it",
      "id": "how-to-avoid-it"
    }
  ],
  "links_out": [
    {
      "slug": "a-transfer-failed",
      "label": "A transfer failed",
      "exists": true,
      "url": "https://storagestudio.us/wiki/a-transfer-failed"
    },
    {
      "slug": "transfer-schedules",
      "label": "Scheduling a transfer",
      "exists": true,
      "url": "https://storagestudio.us/wiki/transfer-schedules"
    },
    {
      "slug": "moving-folders-safely",
      "label": "Data Parking",
      "exists": true,
      "url": "https://storagestudio.us/wiki/moving-folders-safely"
    },
    {
      "slug": "when-an-app-holds-a-folder-open",
      "label": "when an app is holding a folder open",
      "exists": true,
      "url": "https://storagestudio.us/wiki/when-an-app-holds-a-folder-open"
    },
    {
      "slug": "sync-again",
      "label": "Sync again and Run again",
      "exists": true,
      "url": "https://storagestudio.us/wiki/sync-again"
    },
    {
      "slug": "copy-move-sync-or-two-way-sync",
      "label": "Copy, Move, Sync or Two-way sync",
      "exists": true,
      "url": "https://storagestudio.us/wiki/copy-move-sync-or-two-way-sync"
    },
    {
      "slug": "data-transfers",
      "label": "Data Transfers",
      "exists": true,
      "url": "https://storagestudio.us/wiki/data-transfers"
    }
  ],
  "links_in": [
    {
      "slug": "a-transfer-failed",
      "title": "A transfer failed",
      "url": "https://storagestudio.us/wiki/a-transfer-failed"
    },
    {
      "slug": "copy-move-sync-or-two-way-sync",
      "title": "Copy, Move, Sync or Two-way sync",
      "url": "https://storagestudio.us/wiki/copy-move-sync-or-two-way-sync"
    },
    {
      "slug": "two-way-sync-first-run",
      "title": "Two-way sync and the First run box",
      "url": "https://storagestudio.us/wiki/two-way-sync-first-run"
    },
    {
      "slug": "when-an-app-holds-a-folder-open",
      "title": "When an app is holding a folder open",
      "url": "https://storagestudio.us/wiki/when-an-app-holds-a-folder-open"
    }
  ],
  "diagrams": [
    {
      "kind": "flowchart",
      "caption": "How a transfer handles files that were still being written",
      "outline": "- The transfer finishes\n  - leads to Did only still-changing files fail?\n- Did only still-changing files fail?\n  - No: leads to The transfer shows Failed with the reasons\n  - Yes: leads to Marked Completed and a follow-up Copy starts\n- Marked Completed and a follow-up Copy starts\n  - leads to Are those files still changing?\n- Are those files still changing?\n  - No: leads to Copied as they are now\n  - Yes: leads to Skipped this time and copied on the next run\n",
      "source": "%% caption: How a transfer handles files that were still being written\nflowchart TD\n  A[The transfer finishes] --> B{Did only still-changing files fail?}\n  B -->|No| F[The transfer shows Failed with the reasons]\n  B -->|Yes| C[Marked Completed and a follow-up Copy starts]\n  C --> D{Are those files still changing?}\n  D -->|No| E[Copied as they are now]\n  D -->|Yes| G[Skipped this time and copied on the next run]"
    }
  ],
  "images": [],
  "screenshots_pending": [],
  "faqs": [],
  "text": "A file that is still being written while Data Transfers copies it — a log file that keeps growing, a download in progress, a document an app is saving — is a different size by the time its copy finishes. Storage Studio notices the mismatch rather than keeping a copy that doesn't match, finishes everything else, and deals with those files separately. What happens For a Copy , a Sync (one-way) or a Bidirectional sync where the only problem was files that were still changing: The transfer is marked Completed , and its details say so: \"Everything was copied except 2 files that were still being written\" , followed by their names (up to five, then \"…and N more\"). Straight away, a follow-up Copy of just those files starts. It takes them as they are at that moment — for a file that is still being written, that's a snapshot partway through. The follow-up appears in the list as a separate Copy with the same source and destination. If the follow-up finds them changing yet again, it doesn't keep chasing them. It finishes as Completed and says the files \"were still changing while being copied, so they were skipped this time\" and \"They'll be copied on the next run.\" The next run — Sync again , Run again or the next scheduled run — picks them up once they have settled. How a transfer handles files that were still being written Flowchart outline: How a transfer handles files that were still being written The transfer finishes leads to Did only still-changing files fail? Did only still-changing files fail? No: leads to The transfer shows Failed with the reasons Yes: leads to Marked Completed and a follow-up Copy starts Marked Completed and a follow-up Copy starts leads to Are those files still changing? Are those files still changing? No: leads to Copied as they are now Yes: leads to Skipped this time and copied on the next run When it's reported as a failure instead A Move isn't handled this way. The transfer shows Failed with a message that some items \"couldn't be copied because they changed on the source while they were being copied\" , and lists them. The rest of the move went ahead; run it again once those files have settled. A transfer with other problems as well — a permission error, a full destination — shows Failed , and its details list what wasn't copied and why. See A transfer failed . A very large single-file download stops if the original changes part-way: \"The original changed while it was downloading, so the transfer stopped rather than mixing two versions together.\" What arrived is kept; start it again to fetch the new version. How to avoid it Close the app that's writing to the folder before you transfer it, or wait until it has finished saving. Schedule transfers for a quiet time , such as overnight, when fewer files are open. See Scheduling a transfer . Leave out folders that are always busy , such as an app's live logs or caches. Transfer the folders around them instead. For a folder you're moving to your external drive , Data Parking is usually the better tool; see when an app is holding a folder open for folders in use. More answers are in the Storage Studio FAQ . See also: Sync again and Run again · Copy, Move, Sync or Two-way sync · Data Transfers",
  "markdown": "A file that is still being written while Data Transfers copies it — a log file that keeps growing, a download in progress, a document an app is saving — is a different size by the time its copy finishes. Storage Studio notices the mismatch rather than keeping a copy that doesn't match, finishes everything else, and deals with those files separately.\n\n## What happens\n\nFor a **Copy**, a **Sync (one-way)** or a **Bidirectional sync** where the only problem was files that were still changing:\n\n1. The transfer is marked **Completed**, and its details say so: *\"Everything was copied except 2 files that were still being written\"*, followed by their names (up to five, then \"…and N more\").\n2. Straight away, a follow-up **Copy** of just those files starts. It takes them as they are at that moment — for a file that is still being written, that's a snapshot partway through. The follow-up appears in the list as a separate Copy with the same source and destination.\n3. If the follow-up finds them changing yet again, it doesn't keep chasing them. It finishes as **Completed** and says the files *\"were still changing while being copied, so they were skipped this time\"* and *\"They'll be copied on the next run.\"*\n\nThe next run — **Sync again**, **Run again** or the next scheduled run — picks them up once they have settled.\n\n```mermaid\n%% caption: How a transfer handles files that were still being written\nflowchart TD\n  A[The transfer finishes] --> B{Did only still-changing files fail?}\n  B -->|No| F[The transfer shows Failed with the reasons]\n  B -->|Yes| C[Marked Completed and a follow-up Copy starts]\n  C --> D{Are those files still changing?}\n  D -->|No| E[Copied as they are now]\n  D -->|Yes| G[Skipped this time and copied on the next run]\n```\n\n*Flowchart — How a transfer handles files that were still being written. Outline:*\n\n- The transfer finishes\n  - leads to Did only still-changing files fail?\n- Did only still-changing files fail?\n  - No: leads to The transfer shows Failed with the reasons\n  - Yes: leads to Marked Completed and a follow-up Copy starts\n- Marked Completed and a follow-up Copy starts\n  - leads to Are those files still changing?\n- Are those files still changing?\n  - No: leads to Copied as they are now\n  - Yes: leads to Skipped this time and copied on the next run\n\n## When it's reported as a failure instead\n\n- **A Move** isn't handled this way. The transfer shows **Failed** with a message that some items *\"couldn't be copied because they changed on the source while they were being copied\"*, and lists them. The rest of the move went ahead; run it again once those files have settled.\n- **A transfer with other problems as well** — a permission error, a full destination — shows **Failed**, and its details list what wasn't copied and why. See [A transfer failed](https://storagestudio.us/wiki/a-transfer-failed).\n- **A very large single-file download** stops if the original changes part-way: *\"The original changed while it was downloading, so the transfer stopped rather than mixing two versions together.\"* What arrived is kept; start it again to fetch the new version.\n\n## How to avoid it\n\n- **Close the app that's writing** to the folder before you transfer it, or wait until it has finished saving.\n- **Schedule transfers for a quiet time**, such as overnight, when fewer files are open. See [Scheduling a transfer](https://storagestudio.us/wiki/transfer-schedules).\n- **Leave out folders that are always busy**, such as an app's live logs or caches. Transfer the folders around them instead.\n- **For a folder you're moving to your external drive**, [Data Parking](https://storagestudio.us/wiki/moving-folders-safely) is usually the better tool; see [when an app is holding a folder open](https://storagestudio.us/wiki/when-an-app-holds-a-folder-open) for folders in use.\n\nMore answers: https://storagestudio.us/faq\n\nSee also: [Sync again and Run again](https://storagestudio.us/wiki/sync-again) · [Copy, Move, Sync or Two-way sync](https://storagestudio.us/wiki/copy-move-sync-or-two-way-sync) · [Data Transfers](https://storagestudio.us/wiki/data-transfers)\n"
}