Não é possível excluir o arquivo no Linux

1

Após fazer o backup com 'rsync --archive --update' meu diretório pessoal do ext4 para o btrfs, o rsync reporta erros como este:

rsync: readdir("/mnt/backup/home/me/.mozilla/firefox/qbdcaxwe.default/sessions/????????? ??????"): Not a directory (20)                
rsync: rename "/mnt/backup/home/me/.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN" ->                           
+"home/me/.mutt/cache/bodies/imaps:[email protected]/INBOX/3-13228": Not a directory (20) 

Quando tento excluir esses itens com 'rm' - há uma mensagem de erro informando que este item é um diretório. Mas 'rm -d' falha com uma mensagem "não pode remover ...: Nenhum arquivo ou diretório." 'btrfs check' e 'btrfs scrub' não encontraram nenhum erro no sistema de arquivos.

Aqui está a saída para os comandos 'file', 'rm' e 'rmdir':

$ file /.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN
/.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN: SMTP mail, Non-ISO extended-ASCII text, with very long lines
$ rm /.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN
rm: remove regular file ‘/.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN’? y
rm: cannot remove ‘/.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN’: Not a directory
$ rmdir /.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN
rmdir: failed to remove ‘/.../.mutt/cache/bodies/imaps:[email protected]/INBOX/.3-13228.NMKGEN’: Not a directory

Como esses itens do sistema de arquivos podem ser removidos?

    
por Al Berger 02.06.2015 / 16:58

2 respostas

1

Fazer backup do homedir de um usuário pode ter problemas se executado pelo usuário enquanto os aplicativos estão em execução, já que os aplicativos podem manter arquivos abertos e / ou adicionar / remover arquivos e diretórios e interferir no processo de backup.

Muito melhor (se possível) é criar o backup como root enquanto o usuário está desconectado.

Como alternativa, tente minimizar o número de aplicativos que você está executando ao fazer o backup (saia da GUI e execute o cmd do rsync em um terminal de linha de comando).

Finalmente - alguns aplicativos usam caracteres especiais em seus nomes de arquivos / dir que podem confundir vários utilitários. Para isso, você precisa acompanhar as ocorrências (melhor redirecionar a saída para um arquivo) e manipulá-las manualmente, usando soluções alternativas (escape dos caracteres, uso da tecla TAB para autocompletar arquivo / dir nomes ou até mesmo outros utilitários de cópia), conforme necessário.

    
por 02.06.2015 / 17:13
0

Se você estiver usando o btrfs, por que não aproveitar os recursos dele?

tirar um instantâneo:

sudo btrfs sub snap /home/me /home/me/.$(date +%Y-%m-%d_%H%M%S)_snapshot

rsync o backup antigo no instantâneo em vez dos dados ativos:

rsync --archive --update /mnt/backup/home/me/ /home/me/$(sudo btrfs subvolume list -c /home/me|tail -n1|awk '{print $NF}')/

(Eu uso principalmente rsync -mauvPAX de / para / # mas você pode não precisar de tudo isso.)

Agora que você tem o btrfs, é possível fazer backup do instantâneo em vez dos dados ao vivo, o que deve ajudar a evitar esse problema.

    
por 09.04.2018 / 17:11