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 skryptwszystkie 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. #