Mag Gam wrote:
Is it possible to index all symbolic links (source and destination) of a filesystem? For example, in my university we have a project where professors use vast amount of disk space -- over 10 TB a month.
For scanning, it's not the amount of bytes which is relevant but the number of filesystem items.
We provide the professors a mount point, /barXX and export that mount point. The professor then symbolic links that filesystem like, ln -s /nfsexport/barXX June10_data. I would like to keep track of these symbolic links. Is there a good method for this? Is there a feature in ext3 which will let me keep track of these symbolic links.
Am I understanding you right that the symlinks are created on the client systems' local filesystems, not on the networked filesystem (but just *pointing* inside the networked filesystem)? Then (i.e. you wanting to be notified centrally about symlinks being created on client disks) makes the problem actually two problems.
I'm not aware of ready-made solutions, so I expect it will involve some programming. I'd look into one of the following:
- capture the symlink creation calls in the tools being used (for example, only use a special tool, or dpkg-divert /bin/ln and put a wrapper there which collects the information, or modify libc, or use LD_PRELOAD hacks) - use http://en.wikipedia.org/wiki/Inotify (but I'm not sure about how safe this is in regards to races; same is probably also true for the above solution though) - use "fuse" (a filesystem in userspace) mounts on the clients, and write your own filesystem/hooks
Christian.