TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
7zip - QNAP i "miliard" spakowanych plików (ransome attack) , XCLONE 2/09/22 06:54 cześć :)
Potrzebuję pomocy... W ubiegłym roku przez nieuwagę wyłączyłem ochronę malware na moim QNAP i w styczniu padłem ofiarą Qlockera - wszystkie pliki zostały przepakowane 7zipem. Na moje szczęście pliki nie są zabezpieczone hasłem. Malware usunąłem zgodnie z zaleceniami QNAP, ale pliki puściłem do odzyskiwania ich standardową metodą "bit-po-bicie". Od stycznia odzyskało się 30% dysku... :/ Potrzebuję pomocy z napisaniem skryptu w baszu , który wejdzie do każdego katalogu, rozpakuje 7zipy, usunie je, wyjdzie do katalogu wyżej, wejdzie do następnego głębiej, rozpakuje... itd. Problem mam z wykryciem najniższego poziomu zagnieżdżenia i kolejnością działań...
Miałby ktoś chęć pomóc mi z napisaniem?
The World HAS Changed..
:P - W CMD , off 2/09/22 08:11
Zrobiłbym najpierw listę plików zip, np. dir *.zip /s /b znak-wiekszosci lista.txt
Masz pliki i ścieżki. I podawał je poprzez for jako parametr 7zip.
Tylko najpierw upewnił bym się, żeby jednocześnie się to nie wywołało.Born to be born. - może niepotrzebnie piszesz skrypt , Master/Pentium 2/09/22 08:18
https://extractnow.com/Nie ma tego złego , co by się w gorsze
obrócić nie mogło - jak nie wierzysz
włącz komputer :-) - twoje rozwiązanie zakłada chyba zmapowanie dysku , XCLONE 2/09/22 15:54
tak?
bo narzędzie, choć ładne, widzę że jest tylko pod windows.. :/
przypomnę: QNAP chodzi na jakiejś customowej dystrybucji linuxa... w tym cały problem.. :/ z windowsowym skryptem pewnie poradziłbym sobie znacznie szybciej (albo własnie uzył jakiegoś filemanagera)...The World HAS Changed..
:P
- ... , Tomasz 2/09/22 09:39
Przetestuj najpierw na przykladowych danych :)
forfiles /s /m *.7zip /c "cmd /c e:\temp\zip\work.bat @path"
w pliku work.bat robisz już co potrzeba, np.
unzip %1
del %1
Pan Croup i pan Vandemar zabijali czas. - jw. CMD = windows? , XCLONE 2/09/22 15:56
mówimy o linuksie...The World HAS Changed..
:P - linux version , Tomasz 2/09/22 20:12
find /mnt/e/Temp/zip/ -name '*.zip' -exec /mnt/e/Temp/zip/work.sh {} \;
w pliku work.sh
#!/bin/bash
echo $1
$1 to jak się domyślasz pełna ścieżka plikuPan Croup i pan Vandemar zabijali czas.
- QNAP chodzi na linuksie , XCLONE 2/09/22 15:57
także narzędzia windowsowe nie zadziałają.. :/
jak zmapuję dysk, będzie tylko część zmapowana, a nie cała przestrzeń dyskowa NASaThe World HAS Changed..
:P - cos takiego na szybko , rulezDC 2/09/22 20:48
for i in $(find ~/tmp -type d -printf "%p\n");do cd ${i} && 7za e *.7z && rm -rf *.7z;donekoniec koniec koniec - nie radzę , josh 3/09/22 12:33
Ten skrypt na koniec kasuje wszystkie pliki .7z więc jeśli jakiś się rozpakował, to poleci razem z resztą.
Najlepiej zrobić jak pisał off, czyli najpierw robimy listę wszystkich plików do skasowania, a potem lecimy wg tej listy i wiemy, że nic nam się po drodze do niej nie dopisze, np. nie zaczniemy rozpakowywać rozpakowanych archiwów.
Co do samego bash, to za każdym razem jak muszę coś napisać, to duckduckgo.com leci w ruch :)
Nie mam dużej praktyki z windowsami (oprócz używania ich do grania), ale zawsze wydawało mi się, że napisanie skryptu w bash jest znacznie łatwiejsze niż w tych MS dziwadłach, ale wiadomo YMMV :)- to napisz, to byl przyklad moze, zrobic ... , rulezDC 3/09/22 14:23
druga petle ze pojedzie w nej po plikach:
for i in $(find ~/tmp -type d -printf "%p\n");do cd ${i};for j in $(ls -1 *.7z);do 7za e ${j} && rm -rf ${j};done;done
koniec koniec koniec
- dzięki rulezDC i josh - a może by tak... , XCLONE 4/09/22 13:43
... rozpakowywać te pliki do nowego podkatalogu, wtedy usunąć 7zipy w tym, co się rozpakowywał, wtedy wejść do tego tymczasowego podkatalogu i przenieść wszystkie pliki piętro wyżej i na koniec usunąc tymczasowy podkatalog?
@rulezDC, znalazłbys czas żeby opowiedzieć, co robi Twoja pętla? może byśmy zbudowali coś wspólnie, co np. opędzi cały /usr?
a własnie... trzeba by jeszcze pamiętać o prawach do plików - bo jak to zrobię z poziomu admina, to mi użytkownicy stracą dostępy do swoich plików...
kurcze.. ostatniego poważnego basha pisałem ponad 20 lat temu :( masakra jak się człowiek uwstecznił...
@pozostali: dzięki za pomoc!The World HAS Changed..
:P - mozna dodac wszystko , rulezDC 4/09/22 15:30
skrypt w skrocie:
pierwsze for znajduje wszystkie katalogi w katalogu ~/tmp - tmp w katalogu domowym
2. dla kazdego znalezionego katalogu wchodzi do niego
3. znajduje wszystkie pliki 7z i pokolei ke rozpakowuje i usuwa potem zrodlo
mozesz przed opcie rozpakowywania dodac komendy:
mkdir ${j}_tmp && cp ${j} ${j}_tmp && cd ${j}_tmp && ...
to ci stworzy tymczasowy katalog skopiuje 7z do niego a dalej bedzie rozpakowywal na koniec usinie 7z ale oryginal
zostanie katalog wyzej
Co do uprawnien to nie wiem czy 7z potrafi zachowywac poprawnie uprawnienia, podeslij kawalek listy katalogow to ci wieczorkiem wysle skrypt z opisem co i jakkoniec koniec koniec - próbowałem się dostać przez SSH, ale mnie wywala.. , XCLONE 5/09/22 00:14
a w zasadzie nawet nie znajduje NASa w sieci... musze jutro obejrzeć konfig na routerze, bo coś mi tu trąci blokadą...
jak tylko się dostanę i zlistuję prawdziwą strukturę katalogu (a nie tylko widok z interfejsu graficznego katalogów dostepnych do widoku), to podkleję...
The World HAS Changed..
:P - dobra.. FW na NAS mnie wywalał.. , XCLONE 7/09/22 00:09
na chwilę wyłączyłem i porobiłem screeny struktury...
generalnie widzę, że do poziomu OS-u qLocker nie dotarł, bo pliki wyglądają normalnie... same rzeczy w podmontowanych HDD... podzielisz się mailem? to podeślę zrzutki... do mnie na
dzięki!The World HAS Changed..
:P - poszlo , rulezDC 7/09/22 23:07
123koniec koniec koniec
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|