When I edit files directly over FTP, I always use UltraEdit. You can set up a local copy directory in it and it will save the file in there as well as remotely. It has saved files from exactly this situation on a few occasions :)
I used to have a fairly simple shell script which did exactly that and create differential tgz archives + weekly full archive... maybe when I make it again sometime I'll post it here somewhere :P