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. There are four things it can say, each followed by the path:
| What it says | What it means |
|---|---|
| "Removed a leftover working file from an interrupted link job" | A leftover from Replace with hardlink was removed. |
| "Removed a part-copied file from an interrupted move" | A part-copied file from a Move was removed. |
| "Left a working file alone — it was still in use" | Written to too recently to be sure it was abandoned. |
| "Left a file alone — not a leftover" | Not what the cleanup expected, so it was not touched. |
A "Left … alone" 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 neither is set, there is nowhere for it to look and the cleanup does not run.
So if a leftover keeps turning up somewhere the cleanup does not reach:
- Open Settings → Scanning & performance and add that drive or folder to Default scan roots. Everything on that list is walked at startup, so add the folder rather than the drive where you can.
- Restart Trawler.
- Check Scan report → Actions to see what it found.
Do not delete a file just because of its ending. Trawler removes one only when it can prove the
file is its own: a link leftover shares its contents with a file you kept, and a move leftover has
gone five minutes untouched. Those two rules are the whole reason the cleanup is safe, and deleting
by name skips both — a .trawler-movetmp may be a copy still in flight, and a .trawler-tmp may be
the last remaining name for contents you still want. If you find a file you do not recognise, leave
it alone until you know where it came from and that another intact copy exists.
Related
- What can be undone, and what cannot
- Processing — what Replace with hardlink and Move actually do
- Settings — where default scan locations live