map destination files files based on meta data

Joe josephj at
Mon Sep 30 13:27:51 MDT 2013

It would be possible (probably not too difficult) to write a (bash ...)
script that examines the exif info in all your pictures and uses that to
make a separate list of files for each destination to pass to rsync. If
you also filter the files by some cutoff date (like since the last time
the script was run), you could avoid reprocessing the same files over
and over.

Once they get to rsync, it will still determine which ones actually need
to be transfered.

It would be relatively easy to customize such a script to meet your
exact needs whereas something that was built into rsync (or into any
general purpose application) would probably be less flexible.

A Google for "linux get exif" turned up lots of URLs that look good.


On 09/30/2013 10:22 AM, Cary Lewis wrote:
> I am in the process of designing a photo synchronization application -
> basically I want to be able to copy all of the images captured
> throughout my home's infrastructure to a central repository. The
> problem that I foresee is that there may be collisions between
> filenames between the various computers where my family members sync
> their photos, movies, etc. So doing a simple rsync won't work. This is
> especially true of how iPhoto stores photos synced from iphones,
> ipads, etc.
> What I want to do is have the ability to map source files to a
> destination location / name based on meta information contained in the
> files. This could include exif data, or simple file meta information
> such at date / time.
> I don't want to hardcode the destination paths, because I want all of
> the files to be organized / copied into the same destination folder,
> so that it's easy to grab copies of all the files pertaining to that
> folder (e.g. month when photo was taken.
> is it possible to introduce a 'filter' or hook into rsync to compute
> the destination file name based on meta information. Is this a
> worthwhile feature to develop, or is there something already present
> that I have missed?

More information about the rsync mailing list