Strona 1 z 1
[+] tworzenie archiwum w określonej lokalizacji - tar, find
: 16 grudnia 2009, 13:49
autor: snuff
Witam.
Niezbyt wiem jak za to się zabrać ale zmontowałem coś takiego:
Kod: Zaznacz cały
#!/bin/sh
tar cvf test_$(date +%F).tar $(find -name 'screenlog.0')
Znajduje i pakuje mi archiwum z datą ale...
Pakuje wszystko do 1 pliku i do głównego katalogu, w którym znajduję się plik z wyżej wymienioną komendą.
A chciał bym żeby znalazło plik o nazwie ,,screenlog.0'' i stworzyło archiwum w folderze, w którym go znalazło i przeszło do następnego znalezionego pliku o nazwie ,,screenlog.0'' i zapisało go w folderze, w którym go znalazł i tak w kółko.
: 16 grudnia 2009, 14:26
autor: beel
Jeśli znajdziesz lokalizację pliku, możesz zapisać ją do zmiennej, przykładowo:
W innej zapisać ścieżkę o poziom mniej (utnij w łańcuchu od końca wszystko do pierwszego wystąpienia znaku /):
I w komendzie to wykorzystać jako gdzie pakuj i co pakuj:
To tylko pseudokod dla pojedynczego przypadku. Może coś pomoże.
: 16 grudnia 2009, 14:30
autor: snuff
Tylko jest jeden problem.
Nie bez powodu użyłem opcji find gdyż ścieżki do katalogów są takie:
Przykład:
/home/1001/screenlog.0
/home/1002/screenlog.0
/home/1003/screenlog.0
itp
i chciałbym żeby screenlog.0 było zapisane np w /home/1001/test_12_16_2009.tar
: 16 grudnia 2009, 14:44
autor: beel
Ja ci wcale nie zabroniłem używania polecenie find, Wynik jak zwróci możesz zapisać do zmiennej. Również napisałem, że to co podaję jest dla jednego wystąpienia pliku. Więc pewnie wchodziłyby w grę dla większej ilości jakieś pętelki.
: 16 grudnia 2009, 14:47
autor: snuff
Tylko, że napisałeś abym użył ścieżki względnej, czyli miałbym zrobić dla każdego pliku osobny skrypt z podaną do niego lokalizacją.
I nie napisałem, że ,,zabroniłeś'' mi używania find.
: 16 grudnia 2009, 14:53
autor: beel
snuff pisze:Tylko że napisałeś żebym użył ścieżki względnej czyli miał bym zrobić dla każdego pliku osobny skrypt z podaną do niego lokalizacją.
Absolutnie.
Chodzi o to, że ułatwieniem byłoby posiadanie listy ścieżek wystąpień takiego pliku. Jak to zrealizujesz to twój wybór. Tak przy okazji, chyba macie podobny problem
http://debian.linux.pl/viewtopic.php?p=113541#113541
: 16 grudnia 2009, 15:01
autor: snuff
Ale Ty mnie nie rozumiesz albo ja Ciebie.
Chodzi mi o to by "skrypt" znajdował pliki i pakował je w folderze które je znalazł a nie w folderze w którym jest wykonywany "skrypt".
: 16 grudnia 2009, 15:23
autor: winnetou
Dziękuje...
: 16 grudnia 2009, 15:37
autor: snuff
Wielkie dzięki
Skrypt działa poprawnie.
Dodałem jeszcze usuwanie spakowanych plików.