Para hacer una copia de seguridad de los archivos existentes con sufijos numéricos, puedo hacer lo siguiente:
cp --backup=numbered afile /path/to/dest
Pero esto no se aplica cuando trato de hacer lo mismo con una carpeta:
cp -R --backup=numbered afolder /path/to/dest
¿Cómo puedo conseguir esto?
Tal vez debería demostrar un poco lo que quiero lograr. Primero tenemos dos directorios:
ls -ld source container
drwxrwxr-x 6 kaiyin kaiyin 4096 Nov 29 22:11 container
drwxrwxr-x 2 kaiyin kaiyin 4096 Nov 29 22:09 source
Entonces hacemos esto:
myPerfectCp -R --backup=numbered source container/
myPerfectCp -R --backup=numbered source container/
myPerfectCp -R --backup=numbered source container/
myPerfectCp -R --backup=numbered source container/
Idealmente quiero este resultado:
tree container/
container/
├── source
├── source.~1~
├── source.~2~
└── source.~3~

backup.~1~,backup~2~etc. que deseadir~1~que contienebackup~1~, seguidodir~2~contienebackup~2~y así sucesivamente, por lo tanto el seguimiento de cada cambio de estado en un directorio independiente. ¿Es esto correcto?Respuestas:
Aunque esto podría hacerse en bash, soy más un tipo de pitón, así que aquí va mi propuesta:
fuente
Tratar:
fuente