Lately, except for the very occasional iTunes full backup, I’ve just been intermittently copying photos from my iPhone via my Linux machines, mounting with Thunar and gvfs.
Recently, I had reason to do a bit of poking about, and it turns out that libimobiledevice, and more specifically, ifuse, is the way to go for scripting. ifuse will mount your iOS device as a virtual file system, and let you copy photos and other media via regular command-line tools like rsync (it can mount the root file system only if your phone is jailbroken). If you want to get this working on arch, it’s very straightforward. You can add a udev rule and basically script to your hearts content. (I’ll probably set up an rsync backup script sometime.)
ifuse also runs on OS X fine, and while installation is a bit more involved, it worked perfectly for me running El Capitan 10.11.5, MacPorts 2.3.4, and osxfuse 2.8.2.
Once it’s installed, you can just run ifuse [/pick/your/mount/folder]
and you’re ready to go.
Performance isn’t spectacular, but is reasonable, rsync runs at about 10-15MB/s via USB 3.0 on a Core i7 Mac Mini.