[Fast System VerSioning]. Herramienta de copia de seguridad, restauración, versionado e implementación para árboles de directorios o sistemas de archivos completos, utilizando un repositorio de Subversion [SVN] como backend. Esto permite mantener un historial de cambios, similar a como lo hace SVN para código fuente, pero aplicado a sistemas de archivos, incluyendo metadatos como permisos, propietarios y tiempos de modificación. Se necesita un repositorio SVN accesible local o remoto
$ fsvs urls file:///var/svn/repos-base file:///var/svn/repos-local /etc
$ fsvs commit /etc -m "Modificaciones locales" -o url=file:///var/svn/repos-local
$ fsvs remove /etc/old-config
$ fsvs commit /etc -m "Eliminado old-config"
1.-
Ejemplos de Uso
Se supone que se tiene un repositorio SVN en file:///var/svn/repos y se quiere versionar el directorio /etc.
Para comenzar a versionar el directorio [/etc], asociandolo con un repositorio SVN y realizar un "checkout" inicial:
$ fsvs urls file:///var/svn/repos /etc
Esto crea metadatos locales en /etc/.fsvs/ para rastrear los cambios.
Una vez inicializado, realizar un commit de los archivos en /etc al repositorio:
$ fsvs commit /etc -m "Copia de seguridad inicial de /etc"
Esto guarda una instantánea de /etc, incluyendo permisos y estructura de directorios.
$ fsvs status /etc
$ fsvs update /etc
$ fsvs cat /etc/hosts -r4 > /etc/hosts.restored
$ mv /etc/hosts.restored /etc/hosts
$ fsvs ignore /etc/*.cache /etc/tmp/
$ fsvs ignore dump
$ fsvs commit /etc -m "Actualización tras modificar nginx.conf"
$ fsvs log /etc