Recovering an interrupted hardlink job

If Trawler is closed unexpectedly part-way through Replace with hardlink — or part-way through a Move to another drive — it can leave a working file behind. Those files take up space and look like junk, because that is what they are.

Trawler cleans them up by itself. This page explains when, and what to do if it doesn't.

This is the one restore you do not run. There is no button for it. It happens at startup.

What gets left behind

Two different leftovers, from two different actions:

  • Replace with hardlink works by putting a temporary copy of a file next to the original while it swaps them over. If that is interrupted, the temporary copy stays. It ends in .trawler-tmp.
  • Move to another drive copies the file across before removing the source. If that is interrupted, the part-copied file stays at the destination. It ends in .trawler-movetmp.

Both are safe to see and safe to leave. Neither is a damaged version of your file — your original is still where it was.

Cancelling an action yourself does not leave these behind. Trawler stops at a safe point when you cancel. These come from a crash, a forced close, or a power cut.

How the cleanup works

Every time Trawler starts, it quietly looks for these leftovers and removes them. It runs in the background, does not delay the app opening, and does not interrupt you.

Two safety rules stop it removing something that is still in use:

  • A move temporary is only removed once it has gone five minutes without being written to. Anything more recent might be a copy still in progress, so it is left alone.
  • A hardlink temporary is only removed if it is genuinely a leftover link. If the file is not what the cleanup expects, it is left alone.

Where to see what it did

Anything the cleanup touches is recorded in Scan report → Actions, one line per file:

link orphan tmp_deleted: D:\Photos\IMG_4471.jpg.trawler-tmp

The word in the middle tells you what happened:

What it says What it means
tmp_deleted A leftover from Replace with hardlink was removed.
move_tmp_deleted A part-copied file from a Move was removed.
skipped_recent Left alone — written to too recently to be sure it was abandoned.
skipped_not_link Left alone — not what the cleanup expected, so it was not touched.

A skipped_ line is not an error. It is Trawler declining to delete something it was not certain about, which is the behaviour you want.

If leftovers are not being cleaned up

The most common cause: Trawler only sweeps the locations it already knows about.

The cleanup looks in Default scan roots — the folder list under Settings → Scanning & performance, described there as "Folders used by startup cleanup and the default workbench session." It also looks in the last folder you moved files into.

If that list is empty, the cleanup does not run at all. There is nowhere for it to look.

So if you keep finding .trawler-tmp files on a drive:

  1. Open Settings → Scanning & performance and add that drive or folder to Default scan roots.
  2. Restart Trawler.
  3. Check Scan report → Actions to see what it found.

If you would rather not change your settings, you can delete these files yourself. They end in .trawler-tmp or .trawler-movetmp, and deleting them costs you nothing — your real files are untouched.

Related