Hromadné kopírování adresářové struktury ze SFTP

cosmo

Ahoj vsetkym.
Potreboval by som poradit. Chcem si vytvorit skript, ktory bude schopny rekurzivne skopirovat vsetky adresare s ich obsahom z SFTP serveru na lokal.
Samotny princip skriptu by nebol problem. Skor uvazujem nad jazykom. Viete mi poradit, ktory jazyk je najlepsie vybaveny ohladom konektivity SFTP (SCP)?
Je lepsie skusit skript v BASH alebo sa na tento ucel hodi skor perl, python, ruby, Google go, php... ? Nechcem znovu vynaliezat koleso :-)
Davam prednost jednoduchemu kodu pred dokonalou funkcnostou. Staci aspon naznak. Verim, ze takyto skript by vyuzilo viac ludi, preto sa obraciam s prosbou o radu.
Vopred dakujem vsetkym za odpovede.
« Poslední změna: 06. 03. 2010, 11:45:34 od Petr Krčmář »


Re: Hromadne kopirovanie adresarovej struktury z SFTP serveru.
« Odpověď #1 kdy: 05. 03. 2010, 18:10:15 »
Moc nechápu, jaký má být přesně účel toho skriptu, ale třeba já osobně danou úlohu řeším takto:
Kód: [Vybrat]
scp -r user@server:/path/to/directory .

cosmo

Re: Hromadne kopirovanie adresarovej struktury z SFTP serveru.
« Odpověď #2 kdy: 05. 03. 2010, 18:45:32 »
Dakujem pekne za odpoved. Toto je samozrejme plne funkcne riesenie, ktore je spolahlive a jednoduche :-) Samozrejme som zabudol napisat, ze potrebujem nieco ako "exclude path", t.j. urcit, co sa nema kopirovat v danej strukture adresarov. Tym sa to trosku komplikuje. SFTP v konzole ma dokonca podporu davkoveho prenosu ale nikde som nenasiel nieco ako "exlude folder/file".
Dakujem velmi pekne za Vasu odpoved.

Re: Hromadne kopirovanie adresarovej struktury z SFTP serveru.
« Odpověď #3 kdy: 05. 03. 2010, 19:43:37 »
Aha, v takovém případě tuto funkci můžete zařídit vhodnými parametry příkazu mirror programu lftp. Tedy například:
Kód: [Vybrat]
lftp -c open -u user:passwordNotNeededIfUsingSSHKey sftp://hostname && mirror -x excludeddir /path/to/remote/dirPřesněji vizte manuál lftp.

cosmo

Re: Hromadne kopirovanie adresarovej struktury z SFTP serveru.
« Odpověď #4 kdy: 06. 03. 2010, 09:42:45 »
Presne toto som potreboval :-)
V manuali si presne pozriem parametre a spravim si SH skript.
Dakujem pekne za odpoved.