[ urkozamanje @ 09.07.2007. 07:52 ] @
pokusao sam pronaci sam nacin da ovo izvedem, ali nisam uspeo. previse je nepoznanica tu za mene, i ne mogu definisati sta tacno da trazim, pa je jedini izlaz postaviti pitanje na forumu. ovako:

u okviru lan-a na dva fajl servera imam dignute sambe (suse 10.0 i suse 9.1 ). skoro se na nekom broju stanica uvukao virus sality. ovaj virus izmedju ostalog pravi .exe fajlove i naziva ih identicno nazivu direktorijuma koji je poslednji u nizu (tree). npr

/dirA/dirB/dirC/dirC.exe

obzirom na veliku dinamiku u razmeni izmedju stanica i servera, serveri su se brzo napunili takvim fajlovima.

kako izbrisati takve fajlove? ja sam stigao dovde :

Code:
find . -name '*.exe' -exec rm -i '{}' ';' 


-i atribut sam dodao obzirom da postoji odredjeni broj .exe fajlova koji ne spadaju u ovu grupu pa ih nisam zeleo brisati. iako zahteva malo vremena za yes/no potvrdu ovo jeste funkcionisalo na suse 9.1 , ali na suse 10.0 jednostavno izlista sve te fajlove bez dijaloga za potvrdu brisanja fajlova, tj. ispise dijalog

Code:
rm: remove regular file '/dirA/dirB/dirC/dirC.exe'? 


ali odmah prelazi na ispis sledeceg dijaloga ne sacekavsi odgovor (pritom je bar dobro sto ih ne brise bez potvrde).

pitanje1:

moze li mi neko pomoci da napravim scriptu koja ce da izdvoji fajlove sa .exe ekstenzijom kojima je naziv identican nazivu direktorijuma u kojem se nalaze, i da takve izbrise?

pitanje2:

vrlo verovatno postoji bolji nacin resavanja problema. ako postoji, koji je?
[ anrxc @ 09.07.2007. 11:42 ] @
Citat:
ali odmah prelazi na ispis sledeceg dijaloga ne sacekavsi odgovor (pritom je bar dobro sto ih ne brise bez potvrde).


Posto nemas problem s time da nadgledas sto se brise, da ne skriptamo bezveze (ako na sistemu imas stotine exe datoteka onda se vrati :)) prvo probaj:

$ find . -name '*.exe' -print -ok rm {} \;


-ok je kao i -exec, ali od korisnika trazi potvrdu, mozes probati (koristiti i u buduce kod cp, mv i sl.) i "-name \*.exe" u slucajevima kada ima razmaka ili spec. znakova u imenu.
[ urkozamanje @ 09.07.2007. 12:25 ] @
ovo funkcionise. hvala

mozda ipak ne bi bilo lose da scriptamo :) mozda nesto naucim iz toga, a zatrebace mi kasnije neka automatizacija

[Ovu poruku je menjao urkozamanje dana 10.07.2007. u 17:06 GMT+1]
[ random @ 30.07.2007. 16:00 ] @
Tačnu listu traženih fajlova bi mogao dobiti sa:

Code:
 $ find . -type f -name '*.exe' | awk -F/ '{ if ( $(NF - 1) ".exe" == ( $NF ) ) print $0 }'
[ urkozamanje @ 15.02.2010. 15:12 ] @
Pozdrav,


Izvinjavam se sto dizem temu iz mrtvih : )


Elem, da li je moguce u ovom kodu
Code:
$ find . -type f -name '*.exe' | awk -F/ '{ if ( $(NF - 1) ".exe" == ( $NF ) ) print $0 }'
umesto print-a na kraju uvesti rm kako bi se fajlovi odmah brisali?
[ IcemanX @ 17.03.2010. 04:20 ] @
Mislim da cu moci ovo da resim,znaci samo treba scripta da brise filove koje se nalaze na citavom sistemu i koji su identicni nazivu folder u kome se nalaze??
[ IcemanX @ 17.03.2010. 04:31 ] @
Samo opet nesto razmisljam...zasto ne nadjes "krivca" za to i obrises to sa sistema...ovako ces imati stalnu borbu s virusom ...
[ urkozamanje @ 18.03.2010. 08:09 ] @
@icemanX

Pre svega hvala unapred za trud.

Nije problem naci krivca kada je u pitanju jedan lan, ali u pitanju su 4-5 geo-distribuiranih lanova sa po 50-ak (sto stalnih, sto povremenih) korisnika, VPN arhipelag sa FTP serverima "nad" tim istim samba share-ovima, i prilicno "mobilnim" korisnicima. A veliki broj njih su part time freelanceri pa ne potpadaju pod potpunu kontrolu korisnickog okruzenja. Tako da je onda malo teze locirati "krivca". Naravno, daleko od nemoguceg, ali meni se opet ucinilo laksim da to resim skriptom iz crona i umnozim je na sve SMB servere.

Pogotovo sto se virus s' vremena na vreme povampiri : ) a cudno je da recimo AVG (placena verzija) cesto "ne vidi" isti virus iako smo im slali zarazene fajlove i primali update-ove posle toga.




Citat:
znaci samo treba scripta da brise filove koje se nalaze na citavom sistemu i koji su identicni nazivu folder u kome se nalaze



Da. Upravo tako. Sa tim sto fajl ima .exe ekstenziju.



Pozdrav i hvala jos jednom.


[Ovu poruku je menjao urkozamanje dana 18.03.2010. u 09:52 GMT+1]
[ IcemanX @ 18.03.2010. 20:35 ] @
Ok uradit cu to za vikend pa cu ti okaciti ovde uradjenu scriptu...nema problema..

Pozdrav