lftp – lepszy pomysł na przesyłanie plików

sznurek dnia Luty 15, 2011

Ostatnio potrzebowałem napisać skrypt, który automatycznie wrzucał pewne pliki na serwer korzystając z SSH (FTP nie było dostępne). Próbując rozwiązać ten problem natknąłem się na lftp, który okazał się świetnym programem. Chciałbym przybliżyć wam jego praktyczne zastosowania.

Tryb interaktywny

Jest wiele sposobów na przekazanie lftp serwera z którym pragniemy się połączyć, jednak dla mnie najwygodniejszy okazał się jeden z nich:

$ lftp [protocol]://[username]@[server]
$ lftp sftp://user@myserver.com # tak, żeby podać konkretny przykład

Po zatwierdzeniu jesteśmy pytani o hasło, po czym naszym oczom ukazuje się konsola interaktywna. Kilka cech, które szczególnie przypadły mi do gustu:

  • uzupełnianie nazw plików,
  • nie wyświetla zbędnych wiadomości od serwera (chyba, że sobie tego zażyczymy),
  • zarządzanie zadaniami wykonującymi się w tle (analogicznie jak w shellu),
  • możliwość przekierowania wyjścia komendy do pliku bądź innej komendy,
  • możliwość wykonywania zewnętrznych programów (komenda !).

Nie zagłębiałem się bardziej (ponieważ głównie zająłem się możliwością wykonywania skryptów, o czym niżej), ale w dokumentacji można się dowiedzieć, że możemy np. stosować zakładki, czy zrobić aliasy do najczęściej używanych komend.

Mi przydały się trzy komendy:

  • help – tego chyba nie muszę tłumaczyć :),
  • cd folder – przejście do zdalnego folderu,
  • put plik_lokalny – przesyła na serwer dany plik.

Mimo iż nie planowałem używać lftp w trybie interaktywnym, okazał się on na tyle wygodnym programem, że teraz on będzie moim głównym klientem FTP i podobnych. Jako osobnik nie lubiący opuszczać konsoli (chociażby po to, żeby skorzystać z GFTP…) ten program bardzo mi się przyda.

Skrypty

Wracając do mojej automatyzacji – okazuje się, że nie muszę wiedzieć praktycznie nic więcej, żebym był w stanie wykonać swoje zadanie. Skrypty lftp są zwykłymi plikami tekstowymi z ciągiem komend jakie wydajemy w trackie sesji interaktywnej z komendą otwierającą połączenie na samym początku. Przykładowy skrypt mógłby wyglądać tak:

open sftp://user@server.pl/
cd dir1
put one.html
put two.html
cd dir2
put img.png

Mając nazwy plików, które muszę wysłać na serwer, bez problemu generuję sobie skrypt analogiczny do powyższego. Potem korzystając z komendy:

$ lftp -f skrypt

wszystkie pliki są wysyłane na serwer (po uprzednim wpisaniu hasła).

Słowa końcowe

Program lftp zaoszczędził mi wiele nerwów – po części dlatego, że nie lubię wychylać nosa zza konsoli a po części dlatego, że lubię automatyzować nużące czynności. Do obu celów nadaje się idealnie – mam nadzieję, że i wam się przyda.

Do następnego,
sznurek.

2 komentarzy

Porno…

Porno izle…

autor: Turk Porno data: 10 grudnia 2011, 15:29. #

Links…

[...]Sites of interest we have a link to[...]……

autor: stop spam plugin data: 22 lutego 2012, 19:24. #

Zostaw komentarz

Wymagany.

Wymagany. Nie będzie publikowany.

Jeżeli ją posiadasz.