Portál AbcLinuxu, 10. května 2025 07:05

Dotaz: Detekce kopirovani souboru

3.10.2012 14:20 Marvin
Detekce kopirovani souboru
Přečteno: 677×
Odpovědět | Admin
Zdravim. Lze nejakym zpusobem v bash scriptu detekovat, ze je dany soubor v adresari ve stavu kopirovani, tedy tam jeste neni cely?

Řešení dotazu:


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

Odpovědi

3.10.2012 14:29 kuka
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nic jako "stav kopirovani" neni, takze presne to detekovat nejde. Mozna nejblize tvemu pozadavku muze byt, jestli je soubor otevreny pro zapis. To by myslim mohl zvladnout treba lsof. V zavislosti na konkretnim scenari mohou byt jine postupy, zalezi na co to potrebujes.
3.10.2012 14:40 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Ze neexistuje stav kopirovani prave vim :).Pres lsof bych to mohl zkusit, jeste me napadlo zkusit porovnavat velikost souboru s predeslym stavem. Jde mi o zpracovani video souboru v konverznim adresari automaticky. Uzivatel do daneho adresare nakopiruje videa a ty se po urcite dobe prekonvertuji. Jde mi o to netrefit se s konverzi do okamziku, kdy je soubor zrovna prave kopirovan.
3.10.2012 14:46 chrono
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Možno by sa to dalo urobiť napr v Python pomocou pyinotify (a pomocou toho si počkať, pri novom súbore, na jeho uzatvorenie).
3.10.2012 14:49 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Priznam se, ze Python neni zrovna muj kamarad :), ale dik za tip, kouknu na to.
Řešení 1× (Vojtěch Horký)
rADOn avatar 3.10.2012 15:49 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Python není nutný, inotify je vlastnost kernelu. Z shellu se dá použít inotifywait (z balíčku inotify-tools) nebo incron, čekáš na událost CLOSE_WRITE.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
3.10.2012 15:40 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Když jsem kdysi potřeboval zpracovávat soubory ukládané na server přes FTP, řešil jsem to nakonec na čísi radu sledováním logu (podobným způsobem, jak to dělá "tail -f").
frEon avatar 4.10.2012 11:41 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
A jak to tam kopiruje? Pouzije cp nebo scp nebo snad nejakou webovku? Mozna by problem mel jine jednoduche reseni.
Talking about music is like dancing to architecture.
8.10.2012 13:47 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Kopirovane to bude z Windows do sitoveho adresare na Samba serveru
8.10.2012 16:30 Sten
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
smbstatus
4.10.2012 10:38 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky za vsechny vase rady, inotify-tools bude pro tento pripad asi nejvhodnejsi. Nu, clovek se i po cca 16 letech linuxovani ma stale co ucit :)
Punny avatar 4.10.2012 12:49 Punny | skóre: 28 | Praha
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Krom vsech prispevku by mozna slo pouzit i nasledujici:
Porovnavat velikost souboru kazdych dejme tomu 5s zda se nezmenil?
Ano je to velmi hnusny zpusob, ale mozna nejvice easy way :D
Punny
4.10.2012 13:01 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Nijak elegantní, ale třeba u překódovávání videa to takhle občas používám (jen používám mtime). Při stahování nebo uploadu je problém s tím, že i když se soubor třeba minutu nezmění, ještě to automaticky neznamená, že je konec.
Punny avatar 4.10.2012 17:14 Punny | skóre: 28 | Praha
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
ja rikal ze je to prasecina :) dnes mam pouze nejak vtipnou naladu =)
4.10.2012 16:04 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
:) O porovnavani velikosti souboru jsem psal hned ve svem druhem prispevku, ale dik za napad.
4.10.2012 16:57 kuka
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Pro nektere zpusoby nahravani to je pouzitelne, ale obecne urcite ne. Napr. pri stahovani muze dojit ke chvilkovemu "zaseknuti" nebo nektere nastroje vytvareji soubor rovnou s cilovou velikosti a pak do nej postupne zapisuji.
4.10.2012 17:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
nektere nastroje vytvareji soubor rovnou s cilovou velikosti a pak do nej postupne zapisuji.

To byl právě důvod, proč jsem ve svém skriptu hlídal mtime a ne délku.

8.10.2012 17:20 Marvin
Rozbalit Rozbalit vše Re: Detekce kopirovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Protoze pujde o kopirovani z windows do sdileneho adresare na samba serveru, vyresil jsem to nakonec pres fuser takto:

#!/bin/bash until ! $(fuser -u soubor 2>&1 | grep DOMENA > /dev/null); do sleep 1 done echo zkopirovano...

DOMENA je soucasti jmena uzivatele, tedy DOMENA+uzivatel. Je to asi prasarna, ale funguje to :)

Založit nové vláknoNahoru

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

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