No se puede eliminar el archivo en Linux


1

Después de hacer una copia de seguridad con 'rsync --archive --update' mi directorio de inicio de ext4 a btrfs, rsync informa errores 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:myemail@imap.gmail.com/INBOX/.3-13228.NMKGEN" ->                           
+"home/me/.mutt/cache/bodies/imaps:myemaill@imap.gmail.com/INBOX/3-13228": Not a directory (20) 

Cuando intento eliminar estos elementos con 'rm', hay un mensaje de error que dice que este elemento es un directorio. Pero 'rm -d' falla con un mensaje "no se puede eliminar ...: No existe tal archivo o directorio". 'btrfs check' y 'btrfs scrub' no han encontrado ningún error en el sistema de archivos.

Aquí está la salida para los comandos 'archivo', 'rm' y 'rmdir':

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

¿Cómo se pueden eliminar dichos elementos del sistema de archivos?

Respuestas:


1

Hacer una copia de seguridad del homedir de un usuario puede tener problemas si el usuario lo ejecuta mientras se ejecutan aplicaciones, ya que las aplicaciones pueden mantener abiertos los archivos y / o agregar / eliminar archivos y directorios e interferir con el proceso de copia de seguridad.

Mucho mejor (si es posible) es crear la copia de seguridad como root mientras el usuario está desconectado.

Alternativamente, intente minimizar la cantidad de aplicaciones que está ejecutando mientras realiza la copia de seguridad (salga de la GUI y ejecute el cmd rsync desde un terminal de línea de comandos).

Finalmente, algunas aplicaciones usan caracteres especiales en sus nombres de archivo / directorio que pueden confundir varias utilidades. Para estos debe realizar un seguimiento de las ocurrencias (lo mejor es redirigir la salida a un archivo) y manejarlas manualmente, utilizando soluciones alternativas (escape de caracteres, uso de la tecla TAB para autocompletar nombres de archivo / directorio o incluso otras utilidades de copia) según sea necesario.


0

Si está utilizando btrfs, ¿por qué no aprovechar sus características?

toma una foto:

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

rsync la copia de seguridad anterior en la instantánea en lugar de los datos en vivo:

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

(Utilizo principalmente rsync -mauvPAX de / a / # pero es posible que no necesite todo eso).

Ahora que tiene btrfs, puede hacer una copia de seguridad de la instantánea en lugar de los datos en vivo, y eso debería ayudar a evitar este problema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.