lftp - pobieranie katalogu

Konfiguracja serwerów, usług, itp.
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

lftp - pobieranie katalogu

Post autor: Van Pytel »

Mam serwer A i serwer B.

Na serwerze A mam zainstalowany lftp i przez niego chcę pobrać katalog (w nim są pliki i podkatalogi) z serwera B.

Wykonuję połączenie:

Kod: Zaznacz cały

lftp -p PORT -u [B]nazwa_użytkownika[/B],hasło IP_SERWERA
Poszło ładnie, więc, teraz chcę pobrać katalog:

Kod: Zaznacz cały

mirror -R  katalog
Otrzymuję informację:

Kod: Zaznacz cały

Pobieranie informacji o plikach (70%) (Czekanie na odpowiedź...)
Jak dojdzie do 100% to:

Kod: Zaznacz cały

Sumując: 1 katalog, 0 plików, 0 dowiązań symbolicznych.
To be removed: 28 directories, 239 files, 0 symlinks
I nic nie pobrało się. Gdy skorzystam z

Kod: Zaznacz cały

get plik 
To działa, ale katalogu nie chce mi pobrać.

Nie jestem obcykany w Linuksie, więc pytam się o radę jak mogę pobrać folder?
Głównie chcę to do kopii zapasowej zrobić - potem przetworzyć do basha i użyć do crona, bo ręcznie kopii zapasowej danych nie chcę wykonywać, dlatego nie wiem jak inaczej to można zrobić.

Dziękuję za odppowiedzi.

Edycja:

Znalazłem odpowiedź.

Trzeba wydać polecenie:

Kod: Zaznacz cały

mirror  katalog
Zrobiłem sobie skrypt bash i mam tak:

Kod: Zaznacz cały

llftp -p PORT -u [B]nazwa_użytkownika[/B],hasło IP_SERWERA -e "
mirror  katalog"
Ładnie ściągnął, ale tez dostaje takie informacje:

Kod: Zaznacz cały

mirror: Brak dostępu: 550 Failed to open file. (jakiś_plik)
Sumując: 72 katalogi, 5146 plików, 0 dowiązań symbolicznych.
Nowych: 5146 plików, 0 dowiązań symbolicznych.
259453299 bajtów przesłanych w ciągu 925 sekund (274.0K/s)
Wykryto 2 błędy
Jak mogę pobrać te informacje i wysłać je na e-mail?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Prawdopodobnie nie masz uprawnień do plików tego katalogu. Co do wysyłki na maila to trzeba sobie napisać skrypt, który Tobie taką informację z loga wyciągnie. Nie wiem czy sam syslog posiada takie bajery ale nie sądzę.
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Tymi błędami nie trzeba się przejmować co są podane, bo wiem ze nie mam dostępu do tych plików - sam zmieniłem temu plikowi uprawnienia.

Bardziej mnie interesuje jak właśnie napisać taki skrypt bo szczerze mówiąc, pierwszy raz coś takiego robię i nie wiem jak wyciągnąć te informacje :(
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Nie wiem co masz na myśli pytając "jak napisać taki skrypt?". Gotowego pewnie nikt Ci tu nie poda więc musisz się zainteresować się jakimś językiem..
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Chcę pobrać informacje jakie mi wyświetli lftp po zakończeniu pobierania.

Np.:

Kod: Zaznacz cały

mirror: Brak dostępu: 550 Failed to open file. (jakiś_plik)
Sumując: 72 katalogi, 5146 plików, 0 dowiązań symbolicznych.
Nowych: 5146 plików, 0 dowiązań symbolicznych.
259453299 bajtów przesłanych w ciągu 925 sekund (274.0K/s)
Wykryto 2 błędy
Jakim językiem? Znam tylko php, ale nie chcę instalować programów dodatkowych dlatego myślałem nad tym bashem (tak jak napisałem sobie skrypt do automatycznego pobierania). Nie oczekuję, że ktoś mi poda gotowca (ale miło by było mi) tylko jakiś punkt zaczepienia jak pobrać taką informację, gdybym znał lepiej ten język bash to może bym nie pytał.
Awatar użytkownika
Redhead
Junior Member
Posty: 526
Rejestracja: 17 lipca 2007, 17:37

Post autor: Redhead »

Van Pytel pisze:Chce pobrać informacje jakie mi "wypluje" lftp po zakończeniu pobierania.
Jak juz bedziesz mial skrypt to zrob:

Kod: Zaznacz cały

 ./skrypt > nazwa.log 2>&1
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Dziękuję, a nie ma innej możliwości tylko wstawienie informacji do pliku, bo jeślibym robił tym sposobem to muszę mieć dwa skrypty.
  1. Wykonuję:

    Kod: Zaznacz cały

     ./skrypt > nazwa.log 2>&1
    + po wykonaniu skryptu drugiego musi pobrać informacje z pliku i wstawić je do emaila.
  2. To ten, który wykonuje połączenie ftp i pobiera.
Ja myślałem nad jednym skryptem, iż pobieram pliki zamykam lftp (polecenie exit) wyświetla mi te informacje i przypisuje je zmiennej, potem wydaje polecenie wysłania emaila gdzie tekst wiadomości podam jako tą zmienną.
Tylko właśnie nie wiem jak pobrać te informacje do zmiennej.

Dziękuję za odpowiedź.
Awatar użytkownika
Redhead
Junior Member
Posty: 526
Rejestracja: 17 lipca 2007, 17:37

Post autor: Redhead »

Jeden skrypt może być. Nie ma różnicy.
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Dziękuję za odpowiedź.
ODPOWIEDZ