rsnapshot: como remover todos os arquivos de uma árvore, incluindo diretórios somente leitura

rsnapshot: como remover todos os arquivos de uma árvore, incluindo diretórios somente leitura

Acabei de descobrir que rm -fnão é possível remover arquivos de uma árvore, incluindo diretórios somente leitura. Existe um comando alternativo que pode fazer isso? A remoção é acionada pelo rnapshot e pensei em fornecer um valor diferente para "cmd_rm".

O pano de fundo: estou usando rnapshoto qual emite muitos erros "permissão negada" ao remover a pasta _delete.XXXXX. Os erros ocorrem exatamente em arquivos em diretórios somente leitura. Esses diretórios foram criados automaticamente pelo git-annex, então não posso simplesmente conceder a eles permissões de gravação.

Exemplo:

Configure dois arquivos com permissões de gravação diferentes em um diretório somente leitura:

$ mkdir meudir
$ toque em meudiretório/teste1
$ toque meudir/test2
$ chmod aw meudir/test1
$ chmod aw meudir/

Tente remover as coisas:

$ rm -r meudir/
rm: descer para o diretório protegido contra gravação 'mydir'? sim
rm: remover arquivo vazio normal protegido contra gravação 'mydir/test1'? sim
rm: não é possível remover 'mydir/test1': permissão negada
rm: não é possível remover 'mydir/test2': permissão negada

Não consigo nem remover os arquivos diretamente:

$ rm -rf meudir/teste2
rm: não é possível remover 'mydir/test2': permissão negada

Pesquisar os diretórios somente leitura e torná-los graváveis ​​antes da remoção funcionar:

(encontre /caminho/para/remover -type d -not -writable | xargs chmod u+w) && rm -rf /caminho/para/remover

Mas o comando parece realmente envolvido em uma tarefa bastante simples. Esta é realmente a única solução? E como posso dizer ao rsnapshot para fazer uma coisa dessas?

Responder1

Não posso comentar, então estou escrevendo aqui.

Até onde eu sei, somente leitura significa somente leitura - ponto final. Não ler escrever.

Eu acho que você teria que montar seu diretório para leitura e gravação.

informação relacionada