Ideally when you travel, you'd want to use a fresh card with your camera each day. This way, if you lose the card, or the data on it becomes corrupted, the damage would be limited to a single day. This strategy might not be feasible for longer travels (if you travel for a month and you use two cameras, you'd need 60 storage cards), but it can be practical for shorter trips.
Otto can now handle this particular scenario. Specify the
-i parameter, and the script creates a directory with the current date as its name (for example, 2023-05-01) and backs up the content there. The script is clever enough to distinguish between cards coming from different cameras, thus keeping things tidy while avoiding inadvertently overwriting data coming from multiple sources. Here is how it works. Say, you use a Nikon D800, and you use the following command to back up data:
otto -i -d "/media/$USER/NIKON D800/DCIM/101ND800"
This command creates the 101ND800 directory first, followed by a subdirectory with the current name as its name. The data from the specified source is then backed up to the 101ND800/2023-05-01 subdirectory.
In addition to transferring and organizing JPEG and RAW files, Otto can now generate statistics by analyzing the EXIF metadata of files in a given directory. Say, you want to know what lenses you use most. Run the command below, and Otto generates a CSV-formatted text file containing all lenses used to take photos in the given directory along with the count for each lens.
otto -d "/path/to/dir/with/photos/" -s LensID
Want to know what focal length you use (most)? Here's the command to use:
otto -d "/path/to/dir/with/photos/" -s FocalLength
How about camera models? There's a command for that, too:
otto -d "/path/to/dir/with/photos/" -s Model
Each of these commands generates a .csv file that uses the EXIF tag as its name (LensID.csv, FocalLength.csv, Model.csv, etc) in your home directory. You can then import the file into a spreadsheet application like LibreOffice Calc and generate a graph. Or you can use web tools like cvs-graph to create a pie chart using the generated CSV file.
You'll find Otto in its own GitHub repository.