1. A method for data backup and recovery by a processor based on linked file repositories with each of the linked file repositories representing an individual file system capable of storing at least one version of a file and being connected to at least one server system, wherein the method includes: placing each of the linked file repositories in one of a plurality of positions for storing the at least one version of the file; continuously numbering each of the plurality of positions of each of the linked file repositories; determining a number of the at least one version of the file by the one of a plurality of positions of the one of the linked file repositories; and implementing a version-recovery process over each of the linked file repositories to perform a read operation of the at least one version of the file; for each of the linked file repositories, performing at least one function operation for each file stored in the linked file repositories matching at least one rule, wherein the at least one function operation includes at least one of a deduplication function allowing deduplication files based on the version number, an indexing function allowing to index the file and providing search and discovery capabilities, and an expiration function for moved files determining when a moved file expires and is being deleted time-based or event-based; wherein the at least one rule includes a file extension matching a certain pattern, a file name matching one of a plurality of patterns, a file path name matching the one plurality of patterns, a file owner matching the one of a plurality of patterns, a file creation, and a modification or last access time matching a specified date and a specified time range.