Portál AbcLinuxu, 10. srpna 2025 07:18


Zachraňujeme smazané otevřené soubory

Článek na serveru Linux.com vás naučí zachraňovat smazané soubory, které jsou stále ještě otevřeny nějakým procesem a tudíž nejsou definitivně ztracené. Co vám na to bude stačit? Obyčejné lsof a cp.

16.11.2006 20:17 | Luboš Doležel (Doli) | Zajímavý článek


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

17.11.2006 15:55 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Odpovědět | Sbalit | Link | Blokovat | Admin
Návod pěkný, akorát to moc nefunguje, protože /proc/pid/fd/číslo je (aspoň u mě) symlink na (teď už) neexistující soubor.
Quando omni flunkus moritati
17.11.2006 21:35 Dan Ohnesorg | skóre: 29 | blog: Danuv patentovy blog | Rudná u Prahy
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Zkuste z nej cist a data se zahadne objevi ;-)
I'm an Igor, thur. We don't athk quethtionth. Really? Why not? I don't know, thur. I didn't athk. TP -- Making Money
18.11.2006 02:38 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Zkusil jsem z něj číst a data se záhadně neobjevila...
Quando omni flunkus moritati
18.11.2006 12:20 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Zkusil jsem z něj číst a data se záhadně objevila...
18.11.2006 12:53 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Tak to je zajímavý, páč mě to opravdu udělalo tohle:
$ ls -l
lrwxrwxrwx ... obnoveno.avi -> kesmazani.avi (deleted)

$ mplayer obnoveno.avi

Playing obnoveno.avi.
File not found: 'obnoveno.avi'
Failed to open obnoveno.avi.
Quando omni flunkus moritati
18.11.2006 13:13 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Aha, zdá se, že tomu vadil přepínač -R.
Quando omni flunkus moritati
18.11.2006 15:23 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Sotva to mohlo být "obnoveno.avi", názvy těch souborů jsou číslené. Čili pokud se nepletu, tohle ls -l jste neprováděl v /proc/atd nýbrž po zkopírování v adresáři, kam jste to chtěl obnovit. Nesmíte kopírovat symbolický link, nýbrž souboru obsah. Čili ne cp -a /proc/<id_procesu>/ft/<cislo_souboru> ./kopie.souboru nýbrž cp /proc/<id_procesu>/ft/<cislo_souboru> ./kopie.souboru Pak místo $ ls -l
lrwxrwxrwx ... obnoveno.avi -> kesmazani.avi (deleted)
dostanete $ ls -l
-rw-r--r-- ... 114383 Oct 31 16:25 obnoveno.avi
19.11.2006 20:36 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Tak předně: kopie.souboru se klidně může jmenovat obnoveno.avi

Za druhé jsem nekopíroval pomocí cp -a, protože náhodou umím číst.

Za třetí když se podíváš o něco výš, tak jsem přišel, že tomu vadil i přepínač -R.
Quando omni flunkus moritati
19.11.2006 20:47 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
Kopie souboru ano, ale kopie symlinku je v tomto případě k ničemu, ať se jmenuje jakkoli. Vadilo tomu to, že jste zkopíroval symbolický link a ne obsah souboru. To je vidět z vašeho výpisu adresáře. Přepínač -R se vzhledem k symbolickým linkům chová podobně jako přepínač -a, tj. kopíruje čistě ten link ukazující na smazaný soubor a ne data. To je to, co se pokouším sdělit.

Zakončíme to: při postupu podle návodu v původním článku to funguje, pokud tam člověk přidává zbytečné přepínače navíc, může narazit. ;-)
18.11.2006 15:31 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
Rozbalit Rozbalit vše Re: Zachraňujeme smazané otevřené soubory
A zrovna tak by mělo fungovat

$ mplayer /proc/<id_procesu>/ft/<cislo_souboru>

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.