I have a clustered Ubuntu server layout. Is there a way to configure filesystem synchronization only when a change is made/file is modified (to save resources)?
Personally I'd look to see if there's a way to work on the servers to use something like glusterfs or DRBD, a clustering filesystem, so it'll automatically sync the filesystem. This would require some kind of heartbeat and fencing system put in so that you don't end up with split brain scenarios and graceful recovery options when a server goes down, but you get those issues with data clusters.
rsync will end up with potential issues with keeping the data synced up at the right times; how will you push the data and pull data? How often? Is your solution architected in a way that you won't be overwriting data when it's been altered on A and B...how do you decide which is "authoritative?"
The other option is shared storage; a SAN of some kind that will hold the data, and your web front ends read from it. The SAN would keep all the data in RAID and keep decent backups for redundancy's sake.