Project

General

Profile

Bug #2548

Perte de données sur redmine

Added by Alexis Jeandet almost 4 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Normal
Start date:
01/01/2018
Due date:
% Done:

10%

Estimated time:
revision:
r0

Description

En effectuant un peu de ménage sur le serveur, j'ai effacé la version 2.3 de redmine (/opt/redmine-2.3). Sauf que je n'ai pas vu que depuis le début redmine était configuré pour uploader les fichier dans /opt/redmine-2.3/files.
Du coup on a perdu les fichiers uploadés depuis octobre 2015 environ.
Évidement la conf de backup faisait une sauvegarde quotidienne de /opt/redmine/files donc elle ne servait à rien pour les fichiers uploadés.

Solutions de recovery:

  • extundelete -> testé ne veut pas
  • scalpel -> en cours

Mitigation:

  • la conf est mise à jour pour taper dans /opt/redmine/files
  • le système de backup utilise maintenant l'outil que j'ai développé et il est configuré pour sauvegarder les bons dossiers.

J'ai envoyé un mail aux principaux utilisateurs. Pour le moment la seule solution est de se taper la réparation à la main.

History

#1 Updated by Alexis Jeandet almost 4 years ago

  • % Done changed from 0 to 10

Scalpel à fini de tourner, beaucoup de fichiers sont restaurés mais les noms sont perdus. Il faut maintenant les trier.

#2 Updated by Alexis Jeandet almost 4 years ago

Scalpel produit beaucoup de fichiers non valides, pour faire du nettoyage:

  • Documents office:
for f in */*.doc ; do   
      if timeout 40 abiword --to=pdf  "$f" > /dev/null; then   
            echo "$f" is valid;   
            rm "${f%.doc}.pdf";
     else     
            echo "$f" is broken; 
            rm "$f";  
      fi; 
done
  • Images:
for f in */*.{jpg,bmp,png,gif,tif} ; do   
      if identify   "$f" > /dev/null; then   
            echo "$f" is valid;   
     else     
            echo "$f" is broken; 
            rm "$f";  
      fi; 
done
  • Fichiers ZIP
for f in */*.zip ; do   
      if unzip  -t   "$f" > /dev/null; then   
            echo "$f" is valid;   
     else     
            echo "$f" is broken; 
            rm "$f";  
      fi; 
done
  • Videos
for f in */*.mpg  ; do   
      if ffmpeg -v error -i "$f" -f null   > /dev/null; then   
            echo "$f" is valid;   
     else     
            echo "$f" is broken; 
            rm "$f";  
      fi; 
done

Also available in: Atom PDF