rsnapshot: cómo eliminar todos los archivos de un árbol, incluidos los directorios de solo lectura

rsnapshot: cómo eliminar todos los archivos de un árbol, incluidos los directorios de solo lectura

Acabo de descubrir que rm -fno se pueden eliminar archivos de un árbol, incluidos los directorios de solo lectura. ¿Existe algún comando alternativo que pueda hacer esto? La eliminación se activa mediante rnapshot y pensé en proporcionar un valor diferente para "cmd_rm".

El trasfondo: estoy usando rnapshotel cual emite muchos errores de "permiso denegado" al eliminar la carpeta _delete.XXXXX. Los errores ocurren exactamente en archivos en directorios de solo lectura. Estos directorios fueron creados automáticamente por git-annex, por lo que no puedo simplemente darles permisos de escritura.

Ejemplo:

Configure dos archivos con diferentes permisos de escritura en un directorio de solo lectura:

$ mkdir midir
$ toque midir/prueba1
$ toque midir/test2
$ chmod aw midir/prueba1
$ chmod aw midir/

Intenta eliminar las cosas:

$ rm -r midir/
rm: ¿descender al directorio protegido contra escritura 'mydir'? y
rm: ¿eliminar el archivo vacío normal protegido contra escritura 'mydir/test1'? y
rm: no se puede eliminar 'mydir/test1': permiso denegado
rm: no se puede eliminar 'mydir/test2': permiso denegado

Ni siquiera puedo eliminar los archivos directamente:

$ rm -rf midir/prueba2
rm: no se puede eliminar 'mydir/test2': permiso denegado

Buscar directorios de solo lectura y hacerlos escribibles antes de que funcione la eliminación:

(buscar /ruta/a/eliminar -tipo d -no escribible | xargs chmod u+w) && rm -rf /ruta/a/eliminar

Pero el comando parece realmente complicado para una tarea bastante simple. ¿Es esta realmente la única solución? ¿Y cómo puedo decirle a rsnapshot que haga tal cosa?

Respuesta1

No puedo comentar así que escribo aquí.

Hasta donde yo sé, solo lectura significa solo lectura, punto. No leer escribir.

Supongo que tendrías que montar tu directorio de lectura y escritura.

información relacionada