Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Забрать файл с Ubuntu-сервера на Windows-клиент через командную строку  (Прочитано 500 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн G@G

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Добрый день,

Есть небольшой сервер под управлением Ubuntu 14.04. Доступ к серверу по терминалу (putty) c Windows клиента.
Периодически на сервере появляются файлы, которые хочется забрать на клиента.
Если имя файла не содержит кириллицы, то хорошо работает батник следующего содержимого:
c:\Utils\PuTTY\PSCP.EXE -v -i <параметры подключения>:"/home/ant/test/simple file.txt" "c:\Test\simple file.txt"

Но если имя файла содержит кириллицу:
c:\Utils\PuTTY\PSCP.EXE -v -i <параметры подключения>:"/home/ant/test/просто файл.txt" "c:\Test\просто файл.txt"
то получаем ошибку (имя файла в какой-то странной кодировке):
unable to identify /home/ant/test/ и■╕к■ пЁ∙√.txt: no such file or directory

Если у bat-файла установить кодировку UTF-8, то возникает синтаксическая ошибка при запуске PSCP.

Вопрос, можно ли как-то забрать файлы с Ubuntu-сервера на клиента Windows с помощью bat-файла (PSCP или какую-нибудь другую утилиту)?
Сразу хочу сказать, что переименовывать файлы на стороне сервера не вариант, т.к. хотелось бы сохранить читаемое имя файла.


Спасибо
G@G

P.S. если пытаться ввести в PSFTP get "/home/ant/test/simple file.txt" "c:\Test\simple file.txt" - работает, если ввести get "/home/ant/test/просто файл.txt" "c:\Test\просто файл.txt"
ls "/home/ant/" - вылетает без объяснения причин.

P.P.S. на текущий момент проблема решается через плагин Secure FTP к Total Commander, но это не bat-файл :(

Оффлайн Dot-mitsu

  • Активист
  • *
  • Сообщений: 250
    • Просмотр профиля
Через filezilla, но это тоже не bat файл. Кстати почитай про scp. Просто я сам не знаю как в Windows, с помощью scp я подключался с компьютера под управлением Free BSD к Linux и перетаскивал файлы. Если на винде ест аналог, то составить батничек будет не проблема. Т.е. У меня была простая команда в sh файле, я просто тыкал на него и всё автоматически конектилось и скачивало файлы. Вот опять же только не помню я скачивал или наоборот заливал.
« Последнее редактирование: 21 Ноябрь 2016, 00:48:30 от Dot-mitsu »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 4312
  • Все по палатам!
    • Просмотр профиля
Может настроить кодироку надо (Window - Translation)
http://softnastroy.com/content/instrukciya-po-programme-putty-i-pscp.html
Извините, я все еще учусь

Оффлайн G@G

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
настроить кодироку надо
В PuTTY все работает. Вопрос в том, как ее можно настроить в PSCP?

 

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
G@G, codepage в CMD менять не пробовали?
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн G@G

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
codepage в CMD менять не пробовали
Пробовал. По умолчанию такой ответ "unable to identify /home/ant/test/яЁюёЄю Їрщы.txt: no such file or directory"
Меняю на UTF-8 (chcp 65001), получаю: "unable to identify /home/ant/test/������ ����.txt: no such file or directory"


Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
G@G, давайте все же порядок действий выясним. когда меняете кодировку, что потом делаете?
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн G@G

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
когда меняете кодировку, что потом делаете

Последовательность простая: cmd -> chcp 65001 -> команда загрузки
c:\UTILS\PuTTY>chcp 65001
Active code page: 65001

c:\UTILS\PuTTY>pscp -v DOant:"/home/ant/test/просто файл.txt" "sf.txt"
...<отображение подключения>
unable to identify /home/ant/test/������ ����.txt: no such file or directory
Sent EOF message
Server sent command exit status 0
Disconnected: All channels closed

На сервере рядом с "просто файл.txt" лежит "simple file.txt". Команда c:\UTILS\PuTTY>pscp -v DOant:"/home/ant/test/simple file.txt" "sf.txt" успешно этот файл скачивает.

Оффлайн G@G

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Если забрать с сервера весь каталог (для pscp опция -r), то получается сказачть все файлы. К сожалению, имена скачанных файлов создаются на windows-клиенте в кодрировке UTF-8, т.е. кирилица не читается :(

Был ли у кого-нибудь положительный опыт скачичания с сервера на клиента файлы, содержащие в названии кирилицу через pscp?

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.