Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Récupération de data] effacement accidentel avec un mv
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
kangal
Guru
Guru


Joined: 25 Jun 2005
Posts: 362
Location: Paris

PostPosted: Thu Nov 06, 2008 5:43 pm    Post subject: [Récupération de data] effacement accidentel avec un mv Reply with quote

Bonsoir à tous,

Avant tous, je tenais a dire en public que je suis vraiment un abruti....

Maintenant que c'est fait, je vous expose mon problème en espérant pouvoir récupérer certaines choses.

Je possède un nas Dlink dns 323 avec deux disques en RAID1, tous les deux en EXT2. J'accède a ce NAS principalement en montant la partition en CIFS sur ma gentoo.

Je viens à l'instant de faire un:
Code:
mv mon_fichier /mnt/Nas/*
au lieu de
Code:
mv mon_fichier /mnt/Nas


Sincèrement je comprend PAS comment j'ai fait pour rajouter cette étoile, mais quoi qu'il en soit, je n'ai absolument plus rien sur mon NAS, sauf un répertoire qui contient des rush de ma caméra, je comprend pas que tous les autres aient été effacé et pas lui mais bon...

Quoi qu'il en soit j'ai directement umount le Nas de tous les pc, et je l'ai plus touché, en attendant de savoir si il y a quelques choses a faire...

Si quelqu'un a une petite piste pour m'aider a récupérer le maximum de choses... :idea:

Merci d'avance!

Edit: Je viens de faire le test sur mon disque dur local, bash ne laisse pas passer un truc pareil, je comprend pas que bash, ou que mon NAS n'ait ni l'un ni l'autre empêchés un tel attentat...
_________________
SNK 4 Ever
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Thu Nov 06, 2008 6:36 pm    Post subject: Reply with quote

Salut,

Je ne comprends pas bien. Si tu as fait un
Code:
mv fichier *
c'est un déplacement de tout ton contenu dans le dernier répertoire listé par
Code:
echo ./*
et pas un effacement.

par exemple:
Code:
rg@arthur ~/test $ touch fich{1,2,3,4}
rg@arthur ~/test $ mkdir rep{1,2,3,4,5}
rg@arthur ~/test $ echo ./*
./fich1 ./fich2 ./fich3 ./fich4 ./rep1 ./rep2 ./rep3 ./rep4 ./rep5
rg@arthur ~/test $ mv fich1 ./*
mv: ne peut évaluer `./fich1': Aucun fichier ou répertoire de ce type
rg@arthur ~/test $ ls
rep5
rg@arthur ~/test $ ll rep5/
total 16
-rw-r--r-- 1 rg users    0 nov  6 19:27 fich1
-rw-r--r-- 1 rg users    0 nov  6 19:27 fich2
-rw-r--r-- 1 rg users    0 nov  6 19:27 fich3
-rw-r--r-- 1 rg users    0 nov  6 19:27 fich4
drwxr-xr-x 2 rg users 4096 nov  6 19:27 rep1
drwxr-xr-x 2 rg users 4096 nov  6 19:27 rep2
drwxr-xr-x 2 rg users 4096 nov  6 19:27 rep3
drwxr-xr-x 2 rg users 4096 nov  6 19:27 rep4


Si ton dernier élément est un fichier dans
Code:
echo ./*
alors, mv renvoie une erreur et ne fait rien:
Code:
rg@arthur ~/test $ touch fich{1,2,3,4}
rg@arthur ~/test $ ll
total 0
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich1
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich2
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich3
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich4
rg@arthur ~/test $ mv fich1 ./*
mv: la cible `./fich4' n'est pas un répertoire
rg@arthur ~/test $ ll
total 0
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich1
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich2
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich3
-rw-r--r-- 1 rg users 0 nov  6 19:28 fich4
rg@arthur ~/test $


Sûr que tu n'as fait que ça ? Alors tes données sont encore là.
Back to top
View user's profile Send private message
kangal
Guru
Guru


Joined: 25 Jun 2005
Posts: 362
Location: Paris

PostPosted: Thu Nov 06, 2008 9:24 pm    Post subject: Reply with quote

Merci de ta reponse!

En effet, comme je l'ai dit dans mon PS, bash ne me laisse pas faire ca sur mon disque local, mais il n'a rien dit sur le disque reseau.

Pour moi, comme
Code:
mv test test2
renomme test en test2, et bien il a pris ma commande
Code:
mv fichier /mnt/Nas/*
comme: ecrase tous les fichiers present dans Nas/ par fichier...
_________________
SNK 4 Ever
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772

PostPosted: Thu Nov 06, 2008 9:51 pm    Post subject: Reply with quote

kangal wrote:
Pour moi, comme
Code:
mv test test2
renomme test en test2, et bien il a pris ma commande
Code:
mv fichier /mnt/Nas/*
comme: ecrase tous les fichiers present dans Nas/ par fichier...

impossible, dans le cas de plus de 2 arguments, mv exige que le dernier argument soit un répertoire, et il bouge tous les autres fichiers et répertoire dans ce dernier.
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Thu Nov 06, 2008 10:10 pm    Post subject: Reply with quote

kangal wrote:
Merci de ta reponse!

En effet, comme je l'ai dit dans mon PS, bash ne me laisse pas faire ca sur mon disque local, mais il n'a rien dit sur le disque reseau.

probablement parce que le dernier argument de ta commande est un répertoire
kangal wrote:

Pour moi, comme
Code:
mv test test2
renomme test en test2,

mv ne renomme rien, il déplace. Dans le cas très particulier où il ne possède que deux arguments, on peux dire, par abus de language, qu'il renomme mais il déplace. J'insiste.
kangal wrote:

et bien il a pris ma commande
Code:
mv fichier /mnt/Nas/*
comme: ecrase tous les fichiers present dans Nas/ par fichier...


Définitivement non. Si tu as dans ton rep /mnt/Nas un fic1, fic2, rep1, rep2 et fichier dans ton rep courant alors les commandes
Code:
mv fichier /mnt/Nas/fic1 /mnt/Nas/fic2 /mnt/Nas/rep1 /mnt/Nas/rep2
mv fichier /mnt/Nas/*
mv fichier /mnt/Nas/fic[12] /mnt/Nas/rep[12]

sont équivalentes (c'est le shell qui fait la substitution de '*', pas mv), et toutes déplacent les n-1 premiers éléments dans le dernier si celui-ci est un répertoire, sinon, comme le dit geekounet, mv renvoie une erreur. Le seul cas où mv est susceptible d'écraser, c'est en cas de présence de deux fichiers de même nom dans la cible. Ce comportement est controlable avec l'option -i.

Eh, dites: pendant que j'y suis, ça n'a rien à voir avec le réseau non plus puisqu'il est monté en local. Dans ton cas, le shell ne fait pas de différence entre ~/ et /mnt/Nas ou /etc.
Back to top
View user's profile Send private message
kangal
Guru
Guru


Joined: 25 Jun 2005
Posts: 362
Location: Paris

PostPosted: Thu Nov 06, 2008 10:47 pm    Post subject: Reply with quote

Je ne sais pas quoi vous dire de plus... D'autant plus que je n'arrive pas à reproduire la chose.
J'ai fais des test:

Quand je fais:

Code:
mv test /mnt/Nas/*

Et bien, il me met le fichier test, ainsi que TOUT le contenu du répertoire Nas, dans le dernier répertoire contenu dans NAS (en l'occurrence, un répertoire qui s'appelle rush). J'ai conscience que je suis peut être pas très clair...

Sauf que dans mon cas, lors de ma bourde, et bien il n'y a plus rien du tout !
_________________
SNK 4 Ever
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Fri Nov 07, 2008 5:14 pm    Post subject: Reply with quote

kangal wrote:
Je ne sais pas quoi vous dire de plus... D'autant plus que je n'arrive pas à reproduire la chose.
J'ai fais des test:

Quand je fais:

Code:
mv test /mnt/Nas/*

Et bien, il me met le fichier test, ainsi que TOUT le contenu du répertoire Nas, dans le dernier répertoire contenu dans NAS (en l'occurrence, un répertoire qui s'appelle rush). J'ai conscience que je suis peut être pas très clair...

C'est au contraire, très clair: c'est le comportement normal de mv

kangal wrote:
Sauf que dans mon cas, lors de ma bourde, et bien il n'y a plus rien du tout !

Et ce qu'on te dit, c'est que c'est pas le "mv", ta bourde. Si les fichiers sont effectivement manquant, ça doit être autre chose.

Ceci dit, je ne connais pas de soft non pro (pas plus qu'efficace) pour récupérer des données sur de l'ext2.
Back to top
View user's profile Send private message
bob1977
Guru
Guru


Joined: 16 Mar 2004
Posts: 387

PostPosted: Fri Nov 07, 2008 6:20 pm    Post subject: Reply with quote

Bonjour Kangal,

Pour la récupération de tes données, je te conseille testdisk(recup de partition) / photorec (recup de fichier). Je ne suis pas sûr que ça marche par le réseau: au pire, tu peux brancher un des disques sur ton pc. Il te faut aussi un endroit pour stocker tous les fichiers que tu vas récupérer par cette méthode sans que ce soit le disque d'origine evidemment.
Mais a ta place, je vérifierais que tes fichiers sont bien effacés. Déjà vérifier avec "df" que l'occupation du disque correspond à la place que tu devrais avoir si les fichiers sont supprimes, voir aussi avec "du" que la taille des différents répertoires est normale ou "find" .
testdisk/photorec est en un seul build dans portage.
Bon courage
Back to top
View user's profile Send private message
kangal
Guru
Guru


Joined: 25 Jun 2005
Posts: 362
Location: Paris

PostPosted: Sun Nov 09, 2008 8:09 pm    Post subject: Reply with quote

Merci de ta reponse, je vais tester ca tout de suite!
_________________
SNK 4 Ever
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum