Futilities/human/fti

From Woozle Writes Code
Jump to navigation Jump to search
FTI: File Tree Indexer

About

FTI spiders a folder-tree, hashing each file found, and produces a single JSON file which lists all of the files and their hashes. If a hash matches multiple files, they are listed together (currently these are commented out until I figure out how they should be represented in the output).

The files produced by FTI can then be used by FIC to determine what files in each tree are missing from another tree, where matching files might not be in matching relative paths or even have the same name.

Options

name
standardlongshortmeaning
spider--list-found=<params>-lf=<params> list all items found according to the rules in <params>, which is formatted like "<name>=<value>:<name>=<value>":
  • i=<what to include>: fi (file), fo (folder), or both
  • f=<filespec for output>
  • s: show on screen
base--config-file=<config spec>-cf=<config spec>name of config file to load instead of the default
base--show-progress-spupdate a line on the screen to show current activity

Example

./fti -sp -lf=f=test.fti.log:i=fo file:///mnt/teralap/home/woozle/nextcloud/statler/Talk/Manor

This indexes the tree at /mnt/teralap/home/woozle/nextcloud/statler/Talk/Manor while showing progress (-sp) and logging all of the folders (i=fo) to test.fti.log.

Notes

The particular archive repo I'm trying to merge in with the main Nextcloud is:

sftp://root@statler.local/mnt/HexTera2/archive/collections/clouds/admin/owncloud

Indexing command (run on statler):

./fti -sp /mnt/HexTera2/archive/collections/clouds/admin/owncloud

The folderset for the current Nextcloud (read-only!) is:

sftp://root@statler.local/mnt/TetraTera/www-data/nextcloud/admin/files/commons

Indexing command (run on statler):

./fti -sp /mnt/TetraTera/www-data/nextcloud/admin/files/commons