Posted
by
timothy
on Sunday June 03, 2012 @03:50PM
from the hard-ways-is-best-ways dept.

An anonymous reader writes "Here's a scenario: you are on a vacation trip for a couple of weeks — on the road. Lots of pictures — 2-300 per day. Maybe some text files with short notes etc. You have a camera with Eye-Fi, a PC, and a phone with WiFi and 3G. Files ends up on the PC (mobile storage), phone provides Internet connectivity. Now, if you wanted to upload all files pretty much as you go — given spotty access to Internet over G3 and WiFi — what would be the best way to do that automatically; set-it-and-forget-it style? I would like them to end up on my own server. rsync script? ownCloud? Some BitTorrent setup? Other? I'm thinking of interrupted file transfers due to no network, re-starts etc. And I would not want to lose any files; including scenarios where files gets deleted locally — that should not result in files getting automatically deleted on the server as well. Sure; I could perhaps use something like Dropbox but that would take the fun out of it."

I'm thinking this guy is a senior manager who would normally ask his IT drones to attempt to solve this problem. Like the one I had in my youth that wanted backup of his laptop to happen automatically for the random 4 hours a day it was connected to the corporate network, without impacting the performance of the laptop by doing anything too heavy like, you know, syncing files across the network.

I'm at a loss as to why people answer these kinda questions, if it was your own family you'd tell them to stop being such a lazy ass and remember to hit dropbox or whatever whenever they have a link.

You say you don't want to take all the fun out of it, but you're trying to foist this idiocy off on a public forum? Save the fun for yourself, and make a blog post about your solution.

Allow me....

Hello from my vacation in Indonesia. There is no automated solution. What you're ignoring is that networks in the developing world are not only patchy, they're flaky too. So, whatever worked for you yesterday might not work tomorrow or even in half an hour's time. Counting on 3G is a bad idea, because of its unreliability, but also because of its cost. Use wi-fi wherever you can. Most hotels these days provide it free of charge. Use rsync (with the zip option if you like), and keep it simple. My update script looks like this:

rsync -av ${SRC}/* ${USERNAME}@${DEST}:${PATH}

Yep, just a single folder in which I dump everything of value and a corresponding folder on my home machine. I just pop open a command line whenever ity's convenient (and possible) and run it. It doesn't always complete in time (the one I'm running as we speak won't be finished before I leave to go scuba diving), but I can always complete the sync later in the day.

Also, bring one or more external disks. Use them for quick and dirty backup while you're on the move. It only takes one rain storm (or fall in a river) to be glad you did. And don't count on buying new SD cards when you're on the road. Most of the ones for sale in the developing world are convincing knock-offs that last about two weeks. That's my experience anyway.

Anyway, simplicity is the single most important step for you when you're backing up data in the developing world. You can't rely on any other factor, so you should at least be able to rely on your own scripts. Which leads to my maxim: "In the absence of robustness, choose simplicity"

I'd recommend the --inplace option so that partially transferred files (due to a network drop, etc.) can be resumed easily. You might also want the --update option so that newer files on the receiving end don't get overwritten (thus you can modify files while on vacation and rsync them back to your home later).

Ehm, no, that is not backup. As a matter of fact, you might get robbed and then all your precious storage is gone. What about accidental damage (water damage: bag falls in water). No, the the best way is network backup, and I'd do it with rsync. What you suggest is not avoiding the problem: it's thinking that you avoid the problem.

For me, when I'm on travels: my devices need to be completely destroyable, losable and robable.... without losing much (max one day).

"Unless the extra storage is flash drives that you mail home to yourself periodically"

Exactly.

IT seems the engineering with the lowest ability to "stay over the shoulders of giants". It seems that not only is there the need to constantly reinvent the wheel, but that it must be reinvented in a vacuum, forgetting all the lessons from the past.

"Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway." â"Tanenbaum, Andrew S. (1996)

I haven't tried it lately as I got scared off - does dropbox actually handle a file that you're using for a truecrypt container rationally yet?

Last I tried using dropbox it claimed to be able to handle partial files just fine - but it never worked in practice. My latest fly by night tests seem to indicate that this has been resolved - but I'm still leery of it since it's spectacularly failed so many times in the past.

Unless you are comfortable with the idea of items you are storing ending up on the front page of a newspaper the "dropbox" front end to Amazon storage is a bad idea. Those clowns have so many epic failures that plain FTP from 20 years ago is more secure. They still haven't closed the exploit where you can change your password but it doesn't revoke access to anyone you've let in previously. Then there was the day when their authentication failed entirely and they just let anyone that could guess a usernam

That's a terrible idea, and frankly I'm a little surprised someone with a 4-digit UID would say this. As the other posters have already probably said, there's good reasons for uploading your data to "the cloud" (but your own cloud, not just any cloud) when you're mobile and have valuable data: your mobile devices can easily be lost, stolen, or damaged. Making redundant copies and then keeping them with you doesn't solve that problem at all.

Calling "the cloud" nonsense is exactly the same as calling the Internet nonsense. "The cloud" is just a stupid marketing term for it, but it's still the Internet. I saw pictures depicting the Internet as a cloud long before "the cloud" came into popular usage.

And calling the Internet nonsense on an Internet forum is the height of hypocrisy.

Leaves the fun in it? Either take the suggestions that work, ie Dropbox, or figure it out yourself.

No, don't use Dropbox. Not for large amounts of data, anyway. It's shit on shitty networks (surprise surprise). Not their fault, of course. I live and work in the developing world, so I say this from experience.

unison is really cool, it's two-way sync, so it's better than rsync when you make changes on both copies. There are no limitations of file size or transfer rate, of course. And it can use SSH for security. As for the negatives, it gets messy if you sync more than three copies, and (relevant to the OP) it seems to crap.unisonXXX files over the filesystem if the sync gets aborted. Maybe I'm doing something wrong there though.

Wow, messy when you sync 3 copies? I sync 5 machines (3 servers, laptop and home desktop) all using unison. Messy? Just make sure you always run unison from one particular machine (in my case my laptop) and you're good. I even sync only parts of my directory tree to some machines and that works smoothly, too. I've never seen.unisonXXX files either, but perhaps that's because I'm usually on a decent network. Although I have to say, I have had syncs aborted, so I'd think that I should have seen them by now.

Unison IS really cool if you need to synchronize two directories on two different machines and may make changes on either one. However, I don't see how it'd be useful in this case; unless I'm missing something, the asker doesn't need to keep copies locally once they're safely uploaded to the remote server (it'll take too much space), plus he doesn't want the remote copy deleted if the local copy is, and unison and rsync both do that by default. It's not "synchronizing" if you don't mirror ALL changes to t

Good points, unison is probably not the way to go. I just wanted to sneak in a semi-on-topic plug, because I use it all the time (seems there was no need, so many people are suggesting it).

It seems stupid to delete the local copies though. Unless the laptop has an SSD, there will be enough space for all the pictures, and that's the only backup the submitter will have. Sure, he/she can set up timestamped backups at the home server, but there's no way to know for sure that a bug didn't sneak in to the scripts

It really depends how many photos he's taking, and what kind of storage space he has on the laptop. If there's enough for the whole vacation, then great, might as well leave them all on there. If not, you'll have to come up with a scheme for deleting at least some of them. With typical DSLR photos these days being at least 5-10MB each (more if you save them in RAW format), it doesn't take that many to fill up a ~300GB laptop drive. Sure, some 2TB drive can store a lot more, but laptops don't have drives

use something like Dropbox. It works fine, does exactly what you want, what's the point in reinventing the wheel?

I think, "that would take the fun out of it" pretty much covers it. Sounds like he's interested in the process of rolling out his own solution and putting it to the text. There's a lot of pride that goes with using something you've built yourself.

Your answer, given that he already says he's aware such solutions exist, is a bit like telling a guy rebuilding a car in his garage to just buy one new, because it'd be simpler and cheaper. Yes, it would, but that's not the point.

I don't think the guy was actually interested in finding a solution. If he had, he'd have some kind of a proposal set up and would have had us evaluate it, or give him a better suggestion. The whole post sounds like a damn troll to be honest, but let's give him the benefit of the doubt. Using dropbox, or one of the tens of other services (google drive, ubuntu one, microsoft's whatevertheycallit) is pretty much a solution explicitely designed to solve this problem. I have no idea why finding a more difficult way of doing things is better. Sometimes it's fun, sometimes it's just stupid.

The alternative is your much more sophisticated networking solutions that would require enterprise level remote syncing.

If you're talking about 20 or 30 GB of data per day that might need to be synced in whole or in part, rather than 2-300 MB of files, then you would want something like a VPN solution or enterprise cloud services. Which is basically dropbox that you pay a lot of money for.

If this is windows I would think synctoy could be configured to do what the OP wants, but... why?

I would agree with that but 5-10GB/day is easily possible, especially if you don't weed out the bad ones before syncing. RAW files can easily hit 30MB each from a modern DSLR. For that volume of data, anything online is unlikely to work well when travelling.

What a useless comment. The original poster is already aware of DropBox, and discarded it from consideration

He discarded it for no valid reason. That is what the GP is pointing out.

It is by far the cheapest most reliable solution to this problem, and it even allows leaving the laptop at home and simply uploading camera pictures to your smartphone where they can automatically be loaded to dropbox.

If the OP is unwilling to consider dropbox, where the solution is handed to him on a silver platter, then why should we waste our time to spec out his system for him?

You lost me. What in the name of the mighty Zeus does copyright and patent law have to do with this? I mean I know this is slashdot and all, but please, spare us the drama.

Yeah, it's dramatic to be wasting billions in labor to invent devices, methods, and software that's only different enough to get past some patent or copyright restriction. But as you said, this is slashdot, and big picture thinking is a rarity here... you know, seems too... dramatic.

Alice is always on the move, often with her trusty netbook and a small handheld terabyte USB drive, or a smaller USB keydrive. She has a server out there on the net. She stores data, encrypted in the Cloud.

All these things can have different files on them, but Alice no longer has to deal with the tedious process of keeping them manually in sync, or remembering where she put a file. git-annex manages all these data sources as if they were git remotes.

When she has 1 bar on her cell, Alice queues up interesting files on her server for later. At a coffee shop, she has git-annex download them to her USB drive. High in the sky or in a remote cabin, she catches up on podcasts, videos, and games, first letting git-annex copy them from her USB drive to the netbook (this saves battery power).

When she's done, she tells git-annex which to keep and which to remove. They're all removed from her netbook to save space, and Alice knows that next time she syncs up to the net, her changes will be synced back to her server.

I've been using git-annex for this kind of synchronization for a while and have found it works quite well. It supports interrupted file transfers (via rsync), automatically keeps hashes of all your content, and lets you work offline effecively. git-annex is particularly good at synchronizing file renames between two machines: it actually tracks the renames so you won't have to re-upload anything like you would with rsync. It also supports more than one machine, if you want to make backups.

When she's done, she tells git-annex which to keep and which to remove. They're all removed from her netbook to save space, and Alice knows that next time she syncs up to the net, her changes will be synced back to her server.

Isn't this exactly what the OP didn't want to happen?

scenarios where files gets deleted locally — that should not result in files getting automatically deleted on the server as well

I'm sure there will be a flag to disable server-side deletion, but is this a "supported" use case or a dirty hack? What happens if the OP deletes all the old photos from the synchronized folder on his/her laptop, fills the folder with new photos and tries to sync again? Will git require for the old photos to be downloaded before the new ones can be sync'ed?

When Alice removes the files, it's not system-wide deletion, just a local one. In fact, she can remove them safely because Git Annex tracks their location and knows there is at least one more copy remotely, so it's safe to delete the local one.

You can even configure it to require three or more copies of each file.

2-300 pictures a day is a lot. I don't know about everybody else, but I actually try to enjoy myself on vacations. I'd rather not consume my time taking pictures every couple of minutes. Once you scale it back a bit, I think you will find that you don't need some complex setup.

That said, uploading to the Internet is kinda dumb. Just take a pair of cheap hard drives, download it to both, keep a copy on the laptop. If you're going through customs, give one to someone else in the unlikely event you're mistaken for a terrorist. You can also mail a drive back.

If you are someplace where there's something worth looking at, 300 pictures is nothing. Also, you take more than you are going to keep to better ensure that you end up with results that are worth keeping.

Current tech makes it easy. Makes it easy to take them, to accumulate them, and to cull them later.

Also, there is nothing "burdensome" about taking in a place well enough to take some good pictures of it.

You don't have to be taking pictures every couple of minutes to accumulate that many over the course of the day. When I take pictures on vacation I take a few of each shot I'm trying to get. Maybe I don't see that part of it is out of focus on that tiny 3" screen on the back of the camera. Or maybe I want some shots from different angles. I decide once I am home which are worth saving and which are not.

These people are from a different generation. People my age that were into photography learned to compose our shots and consider proper exposure prior to taking the shot because each roll of film only had so many exposures. When I traveled, I MIGHT shoot 3 rolls a day.

Kids these days just spam the button on their DSLRs, relying on quantity to provide them with a good shot after the fact.

When I took a photography course back in university (pre-digital, all film), we were told the first trick to getting a good picture is to take lots of pictures. You better your odds. Of course the expense of film and developing it naturally limited the number of photos one took compared to digital. But the principle remains the same. And when you're still learning, you need to take a lot of pictures to learn what the proper exposure is for a certain shot and how to compose it. And if you're somewhere w

Ansel Adams frequently made duplicate photographs of his images when taking them. One thing that I tell people constantly is that it is always a good idea to take more than one shot of an image if you can in the camera. According to Michael, Ansel frequently took multiple exposures of the same shots. Many of his negatives are duplicate images of which he'd select the best image to use for printing.

Yes, and that shows that you weren't really that much into photography. A serious photographer back then (like the guys who worked for National Geographic) would go through dozens of rolls of film a day. Sure, it's expensive, but if you're not willing to develop hundreds of shots a day and throw most of them away, and pay the price that entailed, then you're not a serious photographer.

These days, you don't have to have a big budget to shoot the way a serious photographer did in the film days; you can be j

When I was 20, I shot 30 rolls of 36 exposures in approximately 30 days on a Eurail excursion. It's easier to point and shoot 3 fast compositions, then throw 2 away, rather than agonizing about how to carry a little less film. Digital just does this one better.

The important thing is that he not share ALL of the pictures he takes. Unless you're an exceptionally good photographer, if you take 300 pictures, you'll probably end up with at least 290 bad ones, but if you're lucky, you'll have 10 that are great. Only share the good ones, and your friends will think you're a talented photographer.

So I hope you're uploading those for archive purposes, to be sorted later. If you're sharing all of them, your audience will likely get bored fast.

So I hope you're uploading those for archive purposes, to be sorted later. If you're sharing all of them, your audience will likely get bored fast.

When I was a kid, every year my dad would take us on a two week trip where we'd drive across a corner of America. In one trip we hit the Rocky Mountains, Las Vegas, and lotsa neat places in Utah whose names I cannot remember right this second. If my dad called me up and said "We wanna do this trip again!" not only would I be interested in doing what the star of this Ask Slashdot is doing, but I'd easily be shooting 300+ photos a day... only I wouldn't be wasting any of the photos. Unlike him, though, I w

One drawback of BitTorrent is that it is meant for static, large files. RSS integration into bittorrent clients can help, but it's still not a good publishing mechanism. Plus you need quite a few people (or a dedicated seed box) to get it going. For your case it wouldn't be better than pushing to a web server.

The answer also depends on who you want it to view it, and how the access should be. rsync script is probably easiest.

I'm not sure but you maybe want to make this a challenge for yourself? I would personally go for the easiest route which you just set up and takes care of itself without complex problems. Dropbox (if you have enough storage) is the ideal answer as it will sync away in the background so freeing you to do things for yourself. Certainly the last dropbox update seemed to ask me if I want dropbox when I plug in a camera rather than using iphoto.

There is an open source tool for just this kind of situation. It is called Fish-Sync and can be found here: http://fishsync.sourceforge.net/

It basically works like Dropbox or other sync services, but it syncs files between computers you have access to, rather than a third-party server. Fish-Sync is basically a combination of rsync + OpenSSH + Dropbox's LAN sync with an optional pretty graphical interface. (It also works on headless serves if you don't want the GUI.

I am a recent convert to Unison. I discovered this because I was trying out Google Drive, which I found worked well, but I don't want to keep more of my data in someone else's cloud if I have to. So far I have been using the Mac OS UI. With a solution with Unison you will need your own server with ssh access to the Internet. The downside is that you have to worry about backups or uptime, though you don't have to worry about some government taking the service offline permanently (or while they spends years trying to establish possible guilt).

The advantages with solutions like Drop Box or Google Drive is that you not have to worry about the server side. Depending on the amount of data you want to store you will have to choose between the basic paid access or the paid access, which gives you more storage.

BitTorrent is probably the worst solution here, since it only works well when the data is massively distributed. If you only ever have one peer, then you are better off with one of the solutions mentioned above.

I suggest you take a look at Unison File Synchronizer, which can be configured as a one way rather than two-way sync.
http://www.cis.upenn.edu/~bcpierce/unison/ [upenn.edu]
I've found it to be very good under poor & interrupted communication conditions.

You mentioned you have a eye-fi card already. You're describing the eye-fi premium upgrade:

http://www.eye.fi/how-it-works/eyefiview#premium [www.eye.fi] "Eye-Fi Premium: no limits.With Eye-Fi Premium, photos & videos sent directly from your camera to your Eye-Fi View are available for as long as you like. Enjoy unlimited storage and the flexibility to access, share and download your media in full resolution anytime. Whether you’re at home on a second computer, on your iPhone on the go or on an iPad on vacation

... to ask yourself "Am I a journalist, or a blogger where I need to report every day and send my photos to the mothership???" If the answer is 'no' why go through this elaborate setup? Have some consideration for the people whose open wifi hotspots you'll be leeching off of in order to send hundreds of megabytes over; think of the outrageous charges you'll be incurring for sending that much volume over 3G (and overloading the system for all the other users while you're at it). What's your big rush to se

300? I think my sister shoots that while they're eating breakfast. A typical day for her is probably north of 1000. Kids these days.

*geezer mode* Why I remember when I went to Europe for three weeks as a teen, and shot nearly a dozen rolls of film - nearly 300 pictures in all. I though I'd go broke developing all the film. */geezer mode*

*geezer mode* Why I remember when I went to Europe for three weeks as a teen, and shot nearly a dozen rolls of film - nearly 300 pictures in all. I though I'd go broke developing all the film. */geezer mode*

<older-geezer>When I went to Europe for 3 months as a teen, we were too busy shooting the enemy.</older-geezer>

Why would you even consider trying to do this? You know up front that your data connectivity will be poor, and that you'll have a lot of files to upload. Save yourself the frustration. Bring along an external hard drive and make backups as necessary.

You're on vacation. Just get a couple 16 gig SD cards (or whatever your camera takes). Unless you are shooting in RAW you are not going to fill those cards. Then just dump them to the laptop you have with you. Worry about transferring everything when you get back. You are on vacation, enjoy it.

that's what i was thinking. then for a 'backup', copy the pictures to extra blank cards or usb stick and ship home (or to office, parents, whatever).

there is no need to upload up to 20 gigs (or more.. an estimate: our own camera would be about 20 gigs for 4000 photos) of photos over the two weeks over the internet... none at all: would take forever and a day on mobile (if your plan could even survive that volume without insane surcharges); you'd be lucky to get necessary bandwidth at hotels (every one we

For $150 bucks you can easily get an external 2-3 terabyte USB hard drive. Dump everything to that and deal with it when you get back home. Unless there's some reason why you want/need those photos and files at home before you get there...

And what happens when you drop your USB hard drive in the hotel room and it won't work again, losing ALL the photos you took that vacation? Then you'll be wishing you had uploaded them to the much more reliable drives on your home server.

Don't come here and dismiss the obvious solution, (Dropbox) for which which many newer phones support automatic uploading of both phone pictures and photos transferred to the phone from an external camera. (And deletes are not mirrored). You can transfer picture so the phone via Samba server on your phone (at least with Android you can) or bluetooth or cable. From then on you forget it. It will take care of it. It will re-try till it succeeds without you having to do anything.

The issue might not be so much how, but rather how much.If they are high-quality images, 2-300 can be pretty large.

Also the time you will be on the road and where you go to will make perhaps going for just one option less interesting.

e.g. if you go on a trip around the world for a year, then other options should be included as well. e.g. making a copy on blueray and fedexing it once a week. Some countries do not have affordable connections to send home that amou

Can anyone who has used Sparkleshare say if it would work in this situation? I'm looking at building a Sparkleshare server, which is described as an open source version of dropbox, but where you control the server. On some level, it doesn't look that hard to set up, but there are parts of it that still aren't explained well at the website.

But if you search for open source dropbox alternative, Sparkleshare shows up on a lot of lists.

The primary question is: why are you trying to do this? Is it to make sure you have an off-site backup in case all of your electronics gear gets stolen? Redundancy can be best covered with extra hard drives.

Another consideration is what kind of photos you are taking. If you're shooting RAW with a modern DSLR, you're going to have images of 20-30MB each. At 300 pictures per day, you could be looking at a data footprint of up to 9GB per day. I don't know what kind of coverage or data plan you have, but in my

I've been running CrashPlan as an online backup solution for my Linux system to back up all of my photos. It also has a feature allowing you to back up to another PC over the Internet. It's easy to set up so you can back up to your home PC and it's free (unless you buy the cloud backup service). See http://www.crashplan.com/ [crashplan.com]

I think rsync pretty much provides all you need in one tiny command-line to get data from A to B.

But if you want to increase your resilience against failing network connectivity, and make sure you don't delete anything that hasn't been properly copied to your server, I suggest you take a look at datamover: http://www.cisd.ethz.ch/software/Data_Mover [cisd.ethz.ch]

Essentially, it's a daemon written in Java that monitors an outgoing directory. Everythings that is written in there gets safely copied over to a central storage drive. Behind the scenes, they use rsync to do the copying, but it's wrapped in tons of features that improve the reliability of the moving process, like a quiet period before a file gets moved (good for applications that write their output incrementally and sporadically into files), multiple retries on network time-outs, high-water marks, data transformation (e.g. compression) during the move process, etc. It also is very anal about sending you emails for anything that could possibly be a data integrity problem.

We rely on it to store the raw data from scientific experiments. With the proper configuration, your holiday pictures should be just fine.

Sigh... this is really, really sad. The original poster is willing to "miss out" on the true vacation by trying to save a digital copy! Am I the only one here thinking... relax!... enjoy your loved ones!... live in the now! What, exactly, is the point of "saving" something that you were never really with 100% in reality?

Each time you want to "upload" more files, burn them onto a cheap CD (they're so cheap they're practically free these days) and mail them to your home address. Each update is only the cost of a postage stamp and if you want unattended operation, have your wife or kids do it.:P

My experience is that hotel/internet-cafe access is too slow and/or flaky and/or expensive for the purpose you describe. Pay-as-you-go HSPA cell access is very expensive (in Europe and even more-so in North America). I guess if you're only taking 300 small jpegs per day, you might be able to afford the Internet access charges but my experience, even in Europe, is that your best bet is to make your own local backups as you go.
My strategy is to travel with a small netbook and a USB drive. Each evening, I offload my SD cards onto both devices and then keep the netbook in the hotel safe or car and the USB drive with my camera.
For example, I just returned from two weeks in Tuscany and am currently importing 34GB of photos into a new Lightroom catalog. There's no way that I could have transferred that data over the Internet while on the road without wasting a lot of valuable travel time. Heck, it's taking 20 minutes just to copy the photos off the USB drive at 30MB/s! How much time can you spend drinking espresso waiting for uploads?

I was checking to see if someone posted this. Click the iPhone/iPad/iPod shutter button. The picture automatically goes to the cloud and is automatically downloaded to a PC/Mac at home. It also automatically appears on any other authorized iDevice, and if you have Apple TV it is also immedately part of the screen saver. Then the PC can farm it out to friends and family. Travelling with a laptop, command lines, extra hard drives... Quaint.

I am on holiday now and am currently uploading the day's photos with SugarSync. Its cheaper per byte than DropBox and has more options. I think some people might find the many options confusing but not Slashdotters. eg you can sync multiple folders. When I was in a remote place with a slow connection (Laos)I found a problem.... the smallest transaction was a file. So it might labor away for an 30 minutes to almost send a 3M file then the connection would drop and resume and it would start again with the same file - ouch.

I'm on the road since more than a year in a round-the-world trip and I think my setup is fit.

Two notes,- when travelling, internet connection level changes a lot and sometimes you can be not connected for days, so an external disk/memory card rotation should stay your primary backup, especially for photos- for pictures, I'm taking both JPG+RAW and doing Internet backup only for JPG. If I have a full internet connection at my accomodation and can let transfer during night, if not day, it's working pretty wel

Your first idea will do exactly what you want. It'll resume interrupted uploads, verify upload integrity, be secure in whatever context you're in... it's perfect. As long as you don't specify the --delete option, it won't delete remote files just because local files are gone, either.

A crontab line with: "killall rsync && rsync -a ~/local/photo/dir hostname.foo.net:remote/photo/dir" will do the job admirably. Set it to run every 10 minutes or so. You could obviously polish this solution in various ways, but it's quick, it's easy and it will work.