Actually you can do it with built-in tools!
we will use automator.... and terminal... well technically
basically we use automator to monitor the folder, and when there is a change it will run a script to sync files, you don't even have to do anything besides initially set up the automator task!!
if you use the exact options I have, this script will maintain all access information (users, date accessed, modified, created by, etc), this is important because i also have an option here that will only update files with a later time stamp. so for instance both folders will have a file named text.txt for instance. well when you update it, it will never update overwrite the newer file with an older one, only the other way around
this will also only copy changed bits! not entire files(unless you change every bit in a file) so after the first time, it will run extremely fast and use very little resources. This is a two step process we need one automator task on your local folder and one on the remote, its easiest this way
1. open automator (its in the utilities folder)
2. select folder action
3. in the new window it will say "folder action recei......" now chose your *local folder*
4. towards the left hand side of the screen, type in "get specified finder items" and drag it to the large pane on the right, in this new module you just dragged over, select the folder on your
*local machine*
5. now in the search box type in run shell script
6. in the new window paste in the following script: where source is
*local folder* and destination is
*remote folder*, also note source has a / after the foldername whereas the destination does not. this is a great resource that helped me with the rsync command, it will be especially helpful with the remote folder part
http://www.thegeekstuff.com/2010/09/rsync-command-examples/
anyway the script:
rsync -avru -progress
ABSOLUTE_PATH_TO_SOURCE/ ABSOLUTE_PATH _TO_DEST
7. save the automator workflow as something descriptive copy_local_to_server, for instance, you can also press the play button to make sure it runs
8. repeat process replacing
*local folder* with
*remote folder*
so the script on the local folder will copy any new changes to the remote one, and when the remote folder changes, it copies any new or changed items to your local machine!!!
Hopefully all of that made sense, i've included a picture, so that may help a bit, ask questions if you have em
if you need help with the script you can post the path to the files, or if you are uneasy about posting that info, just pm me and i can write the scripts, or help you out