I can't fully understand Your requirements because You doesn't provide detailed description.
At first. How students access data?
If they are login to samba servers and access samba shares or samba profiles then you can monitor accessed data from samba:
smbstatus
For example You could write script that would call smbstatus every 10 seconds and monitor user activity.
If You need something like Microsoft shadow copy then best way is to organize cluster file system. Very good solution is
GlusterFS. Here is 4 pages of detailed configuration:
http://blogama.org/node/96
All data will be dublicated on change. That would be good solutions for data server mirroring. Under RedHat You can use
GFS instead, but it would be pain to configure this file system under non-RedHat system.
Of coure You can use
rsync and synchronize everything you need.
Could You give us little of Your IT environment description (what OS and software will be used) and what exactly You need to monitor?
Also describe how studens will access Your servers and do You want to monitor desktops or servers?
The more information You provide the better solution we could suggest