Rsync or graphical FTP client for website uploading?
Having to work on and update just over 30 websites for various clients means that I need some sort of system for managing server login accounts. Until recently I’ve made do with a separate Excel spreadsheet for the account details, and performed all the maintenance and uploading directly from the OSX terminal app. I would use SSH/Telnet to work directly on the server and rsync, the Unix remote synchronisation tool, to upload multiple files
However, although I like working at the command line – it is powerful and flexible – it is a bit cumbersome having to remember all the upload paths for so many servers and refer constantly to a separate Excel file. So recently I invested in the excellent Mac FTP client Transmit and started to use ‘favourites’ to store all the associated information for each server. Transmit has a very slick interface and I’m able to upload or synchronise at the click of a button. I guess this is a very common way for webmasters to work, so nothing particularly new there.
However, I was surprised the other day when I went to upload an entire site with 5.2MB of files. Using Transmit the process took just over 10 minutes, during which I have to wait or do something else. I wasn’t used to waiting so long to upload files, so I did a test and tried uploading the same set of files using rsync. I was pretty amazed to find that it took only 11 seconds! Clearly rsync uses a massively superior system for compressing a file-structure. In contrast, I guess your standard FTP client has to preform hundreds of individual upload operations, one for each file. So for all its sophistication, Transmit is pretty backward in this area. Are there any GUI FTP clients out there that can use rsync?
For now I will probably keep on with a mixture of the 2 approaches, using Transmit for small site changes, and reverting to rsync for full server backups and transfers. I guess another option that I could look into would be to stay with the command line and do a bit of scripting to take out some of the donkey work. I suppose it shouldn’t be too hard to write a shell script so that I can just type in ‘siteupdate ’ to trigger the appropriate rsync command. Does anyone have a good system they have developed for handling all this stuff?
