Essentially what you are asking is – “how can I enumerate all files that ever existed in a specific folder across revisions”.
You cannot do that with a single command, but you you do it with a short script – first, enumerate all revisions with duplicacy list
, then enumerate files in each revision and grep by folder path with duplicacy list -r <revision> -files | sort -u
, etc.
Something like:
#!/bin/bash
{
duplicacy list | grep "Snapshot" | cut -d ' ' -f 4 | while read rev
do
duplicacy list -r $rev -files | grep "Music/iTunes/Movies"
done
} | sort -u
But that is too much work, and I think this is all wrong approach for what you are trying to achieve – with duplicacy you get all the drawbacks of a versioned encrypted deduplicated backup solution and none of the benefits of what duplicacy excels at:
- Encryption – you don’t need to encrypt iTunes media files
- Deduplication – Media files are not deduplicatable, especially DRM protected ones from iTunes,
- Compression – Media files are not compressible. You don’t save space, you just waste CPU time compressing them.
- Versioning – media files never change,no versions to keep track of, and yet keeping versioned snapshots of your iTines library just adds complexity of going through all snapshots when you need to find a file that existed during certain period of time.
Instead, I would recommend “1-way-sync-with-rename” approach to backup your iTunes library.
“1-way” part of this will ensure that you only add data there, and since movie names are unique you will never overwrite;
“rename” will ensure that if you local file gets corrupted you won’t overwrite the good version in backup with the bad one.
As a result you will have complete set of files at the destination, as-is, ready to be copied.
To accomplish this you can use most of existing tools - like rsync
with -b
flag, Panic’s Transmit, open source CyberDuck to name a few.