Skrypt transferu plików SSH
Chcę przenieść określone typy plików z katalogu na serwerze. Oto scena:
Struktura katalogów
firmy/compA/filedir/
firma/kompB/filedir/
firmy/compC/filedir/
Dlatego chcę przenieść pliki * .csv z katalogów filedir z każdej firmy na inny serwer. Chcę używać ssh do przesyłania plików. Czy ktoś używał ssh do przesyłania plików w skrypcie powłoki? Jak radzisz sobie z tą sytuacją?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
lub
.
używa ssh do kopiowania plików do iz podłączonych komputerów. Przykład składni kopiowania z komputera lokalnego do zdalnego hosta:
Będziesz musiał użyć kluczy publicznych/prywatnych, aby ułatwić logowanie, jeśli jeszcze tego nie zrobiłeś
.
może używać ssh do łączenia się z innym serwerem. Przykładowa składnia byłaby następująca:
Wymagane będą również klucze publiczne/prywatne.
Anonimowy użytkownik
Potwierdzenie od:
argument.
Jeśli chodzi o skrypt, prawdopodobnie utworzysz albo 1) pętlę for, która iteruje po tablicy zawierającej listę wszystkich lokalizacji i uruchamia odpowiednie polecenie scp/rsync, LUB 2) możesz użyć instrukcji find, która przechodzi i wykonuje każdy scp/rsync dla Ciebie.
Przykładowe polecenie find wyglądałoby mniej więcej tak (nieprzetestowane):
Sugeruję, aby jeśli używasz SSH do dowolnego typu transferu, skonfiguruj pewnego rodzaju uwierzytelnianie za pomocą klucza publicznego, aby nie pojawiać się monit o podanie hasła.
W razie potrzeby mogę rozwinąć więcej, po prostu próbując pomóc Ci zacząć i wskazać właściwy kierunek.
Anonimowy użytkownik
Potwierdzenie od:
Aby uniknąć konieczności wprowadzania hasła, musisz najpierw ustawić parę kluczy, a następnie po prostu:
Anonimowy użytkownik
Potwierdzenie od:
Jeśli chcesz mieć użytkownika i jesteś w przeszłości, powinieneś sprawdzić podręcznik scp (man scp), ale uważam, że nie możesz określić ich w poleceniu scp. Zamiast tego powinieneś używać kluczy.