WinSCP – графический клиент SFTP, FTP, FTPS, SCP, WebDAV и Amazon S3.



    WinSCP – это пожалуй, одна из наиболее популярных программ для обмена файлами между узлами с операционными системами Linux, Windows или MacOS по протоколам FTP, SFTP, FTPS, SCP, WebDAV и Amazon S3. Позволяет выполнять типовые операции с файлами и папками, такие как загрузка с удаленного узла и выгрузка на удаленный узел, переименование, перенос, удаление и создание файлов и папок в локальной или удаленной файловой системе. Он также позволяет просматривать и изменять свойства файлов и папок, а также создавать символьные ссылки и ярлыки. Программа имеет многоязычную поддержку и предоставляет пользователю возможность выбора интерфейса в стиле проводника или файлового менеджера Total Commander. Кроме того, в пакет WinSCP включена специальная утилита командной строки winscp.com, позволяющая автоматизировать процессы обмена файлами и папками с помощью заранее подготовленных сценариев.

Кроме того, WinSCP предоставляет пользователю массу дополнительных возможностей:

- Возможность импорта настроек соединений из установленной в системе программы PuTTY. - Интеграция с Pageant (PuTTY Agent) с поддержкой авторизации по открытым ключам.

- Интеграция с операционной системой Windows (поддержка Drag&Drop, ярлыков, поддержка схем URL).

- Поддержка работы с любыми версиями протокола SSH (Secure Shell)

- Поддержка различных типов авторизации, как по паролю, так и с использованием ключей.

- Встроенный текстовый редактор.

- Возможность сохранять настройки соединений.

- Возможность работы с использованием файла конфигурации вместо хранения настроек в реестре, что позволяет использовать ее в переносимом варианте (Portable WinSCP).

- Плагин для поддержки протокола SFTP в программе FAR Manager.

- Возможность синхронизации каталогов локального и удаленного узлов.

Программа WinSCP абсолютно бесплатна и распространяется с открытым исходным кодом.

Установка и настройка WinSCP



Скачать актуальную версию программы можно на странице загрузки WinSCP

Установка программы выполняется стандартным образом с рекомендуемыми параметрами или с возможностью выбора параметров. Выбираемые параметры можно изменить в любой момент времени после установки. Настройки WinSCP выполняются через меню Параметры - Настройки. Множество различных параметров настройки внешнего вида и поведения программы позволяют легко адаптировать ее под предпочтения конкретного пользователя.

Настройки программы WinSCP.


Настройки по умолчанию, как правило, соответствуют предпочтениям обычного пользователя Windows, но при необходимости, можно например, изменить поведение программы при обрыве связи, отклонении сервером подключения по протоколу SFTP и т.п.


Подключение к серверам



Программа WinSCP позволяет создавать и, по желанию пользователя – сохранять, профили подключений к различным серверам, поддерживающим соответствующие прикладные протоколы FTP, FTPS, SFTP, SCP, WebDAV, Amazon S3.

Для создания нового подключения используется кнопка Новое соединение - Новое подключение или комбинация клавиш CTRL+N. Далее необходимо выбрать параметры соединения – протокол передачи данных, наличие и свойства шифрования, имя сервера (IP-адрес) и номер порта, а также - учетную запись пользователя, используемую при подключении к указанному серверу:

Настройки подключений в программе WinSCP.


После завершения настройки подключения, можно выполнить его сохранение нажав кнопку Сохранить Сохраненное соединение можно использовать в качестве соединения по умолчанию, которое будет выбираться при запуске программы WinSCP.

В нижней части окна со списком соединений размещены кнопки Инструменты и Действия предоставляющие пользователю дополнительные возможности по сохранению и восстановлению конфигурации подключений, взаимодействию с программой PuTTY, стиранию следов работы программы и вызову ее настроек.


Передача данных.

Двухпанельный интерфейс по образу Total Commander, как правило, удобнее интерфейса в стиле Проводника Windows. В левом окне отображается локальная файловая система, в правом – файловая система сервера, к которому выполнено подключение.

Интерфейс в стиле Total Commander программы WinSCP.


Настройки WinSCP позволяют поменять панели местами - Настройки - Внешний вид - Коммандер - Панели - включить Поменять панели местами (локальная справа, сервер слева)

Для передачи файлов на сервер производится их выделение в левом окне и отправка нажатием кнопки Отправить. Для приема файлов от удаленного сервера производится их выделение в правом окне и получение нажатием кнопки Получить. Выделение файлов и каталогов выполняется стандартным для ОС семейства Windows способом. Перед началом обмена данными с сервером, отображается диалоговое окно, позволяющее изменить некоторые параметры передачи и выполнить ее настройки:

Настройка параметров передачи данных в программе WinSCP.


В процессе передачи данных отображается статистическая информация:

Отображение процесса передачи данных в программе WinSCP.


Важной особенностью Winscp является возможность синхронизации локальных и удаленных данных. Режим синхронизации включается через меню Команды - Синхронизация .

Режим синхронизации в программе WinSCP.


В настройках синхронизации можно выбрать 3 направления:

Компьютер - изменения в удаленном каталоге применяются по отношению к локальному.

Сервер - изменения в локальном каталоге применяются по отношению к удаленному.

В обе стороны - изменения выполняются как в удаленном, так и в локальном каталогах.

Кроме направления синхронизации, можно выбрать также и ее режим:

Синхронизация файлов - основной режим синхронизации в WinSCP. Реализуется алгоритм:

- Файлы, более новые в каталоге источника передаются в каталог приемника.

- Файлы, присутствующие в каталоге источника, но отсутствующие в каталоге приемника передаются в каталог приемника, если не включен режим Лишь имеющиеся файлы в настройках Параметры синхронизации.

- Файлы, существующие в каталоге приемника, но отсутствующие в каталоге источника могут быть удалены, если включен режим Удалять файлы в настройках Параметры синхронизации.

- При направлении синхронизации В обе стороны файлы, отсутствующие в противоположном каталоге считаются новыми и передаются, если не включен режим Лишь имеющиеся файлы. Удаление файлов при использовании данного направления синхронизации не выполняется.

Зеркальные файлы - различающиеся файлы (более новые и более старые) в каталоге источника передаются в каталог приемника.

Синхр. штампов времени - режим активен, если в удаленной и локальной системе существует возможность определения времени модификации файлов. Обычно, это подключение по протоколу SFTP. Никакие файлы не изменяются и не удаляются. Если один и тот же файл существует в каталоге источника и в каталоге приемника, можно изменить его отметку времени на время модификации либо источника, либо приемника по выбору пользователя. При направлении синхронизации В обе стороны обновляется отметка времени более старых файлов.


Автоматизация обмена данными с применением WinSCP

Программа WinSCP имеет поддержку командной строки и развитую систему создания и выполнения сценариев, что позволяет легко реализовать автоматизацию повторяющихся процессов приема и передачи данных.

Для работы со сценариями можно использовать утилиту командной строки winscp.com, либо запустить программу с параметром /console:

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /console

Для удобства работы с командной строкой WinSCP можно добавить путь к каталогу программы в переменную PATH стандартными средствами Windows либо средствами самой WinSCP: Параметры - Настройки - Интеграция - Добавить папку WinSCP в путь поиска. Поскольку добавление пути поиска WinSCP выполняется в системную переменную PATH, требуется запуск программы от имени администратора и перезагрузка Windows для применения изменений.

После выполнения команды winscp.com или winscp.exe /console , откроется стандартное консольное окно с приглашением к вводу команд WinSCP:

winscp >

По умолчанию, в окне командной строки WinSCP используется кодировка UTF-8. При желании, внешний вид и поведение консоли WinSCP можно настроить под свои предпочтения, например, включив выделение текста мышью и сменив цветовую палитру на черные символы на белом фоне.

Получение справки по командам WinSCP



Большинство внутренних команд WinSCP имеют синтаксическое и смысловое сходство с командами командной строки Linux. Для получения встроенной справки используется команда help:

Подсказка по командам WinSCP.


call - Выполняет заданную команду на сервере

cd - Изменяет папку на сервере

checksum - Вычисляет контрольную сумму файлов на сервере

chmod - Изменить права доступа к файлу на сервере

close - Закрывает соединение

cp - Дупликация/дубль удалённого файла

echo - Выводит свои аргументы в виде сообщения

exit - Закрывает все соединения и завершает программу

get - Загрузить файл с сервера

help - Отображает справку

keepuptodate - Постоянно отслеживать изменения в локальной папке

lcd - Изменить локальную папку

lls - Отобразить содержимое локальной папки

ln - Создать ссылку на сервере

lpwd - Отобразить содержимое локальной папки

ls - Отобразить содержимое папки на сервере

mkdir - Создать папку на сервере

mv - Переименование/перенос файла на сервере

open - Соединение с сервером

option - Просмотреть/задать параметры сценария

put - Выгрузить файл на сервер

pwd - Печатает имя папки сервера

rm - Удалить файл с сервера

rmdir - Удалить папку с сервера

session - Показать список активных соединений или выбрать активное соединение

stat - Запрашивает атрибуты файла на сервере

synchronize - Синхронизировать папку на сервере с локальной

Получение справки по конкретной команде WinSCP



Для получения дополнительной справочной информации по отдельным командам используется синтаксис:

help команда

help synchronize - получить подсказку по команде синхронизации. Результат выполнения:

synchronize local|remote|both [ < локальный каталог > [ < каталог на сервере > ] ]

Если первый параметр — 'local', синхронизирует локальный каталог с удалённым Если первый параметр — 'remote', синхронизирует удалённый каталог с локальным. Если первый параметр — 'both', взаимно синхронизирует каталоги. Если каталоги не указаны, синхронизируются текущие рабочие каталоги.

Примечание: подтверждения перезаписи для этой команды всегда отключены.
BR> параметры:

-preview - Только просмотр различий, не синхронизировать

-delete - Удалить устаревшие файлы

-mirror - Зеркалирование (синхронизирует старые файлы тоже). Игнорируется в режиме 'both'.

-criteria=< критерии > - Критерии сравнения. Возможные значения: 'none', 'time', 'size' и 'either'. Игнорируется в режиме 'both'.

-permissions=< код > - Установить права

-nopermissions - Сохранить права по умолчанию

-speed=< кбит/с > - Ограничить скорость передачи

-transfer=< режим > - Режим передачи: binary, ascii, automatic

-filemask=< маска > - Задаёт файловую маску.

-resumesupport=< состояние > - Настраивает поддержку возобновления. Возможные значения: 'on', 'off' или пороговая величина
действующие параметры: reconnecttime

примеры:

synchronize remote -delete

synchronize both d:\www /home/martin/public_html


Использование собственных сценариев WinSCP .



WinSCP позволяет пользователю получить уже готовые сценарии для выполнения большинства операций приема и передачи файлов. Например, при приеме файла от удаленного сервера в локальный каталог, после нажатия кнопки Получить можно открыть выпадающее меню Настройки передачи

Настройка передачи в  WinSCP.


Пункт меню Сформировать код… позволяет сформировать готовый сценарий для выполнения в виде обычного командного файла Windows, сценарий для выполнения в командной строке WinSCP, а также коды сборки .NET для C#, VB.NET и Power Shell. В открывшемся окне Сформировать код передачи нужно переключиться на вкладку Сценарий и выбрать нужный Формат, например Файл сценария

Файл сценария для выполнения в командной строке WinSCP.


Выбранный сценарий нужно сохранить в каком-нибудь файле в кодировке UTF-8 (UTF-16), например C:\Scripts\script1.txt и передать его на выполнение в виде параметра командной строки winscp:

winscp.com /script=c:\users\user\tmp\script1.txt

Если каталог WinSCP не добавлен в пути поиска переменной PATH, по нужно указать полный путь к исполняемому файлу:

"C:\Program Files (x86)\WinSCP\winscp.com" /script=c:\users\user\tmp\script1.txt /ini=nul

Очень желательно, в параметрах командной строки указать параметр /ini=nul. Это делается для того, чтобы обеспечить выполнение winscp.com с конфигурацией по умолчанию и запрещает сохранение текущей конфигурации при завершении программы.

В процессе выполнения сценария, на экране отображается справочная информация:

Соединяюсь с ftp.supermicro.com…
Соединение установлено
Открываю соединение…
Соединение открыто.
Активные соединения: [1] anonymous@ftp.supermicro.com
/utility/Backplane_Utility
C:\Users\user\Temp\Backplane_Utility
backplane.zip | 1728 KB | 248,6 KB/s | binary | 100%

При необходимости, можно включить протоколирование выполнения сценария в журнале, например, C:\Users\user\Temp\script1.log :

winscp.com /script=c:\users\user\tmp\script1.txt /log=C:\Users\user\Temp\script1.log /ini=nul

Для получения командного файла CMD Windows, необходимо выбрать Формат - Пакетный файл:

Командный файл, созданный WinSCP.


Содержимое командного файла копируется в буфер обмена и затем в командный файл, например, C:\Users\user\Temp\script1.bat. В полученный таким образом командный файл нужно внести некоторые изменения, указав действительные путь для файла журнала или отключить его ведение:

@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\Users\User\Temp\script1.bat.log" /ini=nul ^
/command ^
"open ftp://anonymous:anonymous%%40example.com@ftp.supermicro.com/" ^
"cd /utility/Backplane_Utility" ^
"lcd C:\Users\user\Temp\Backplane_Utility" ^
"get backplane.zip" ^
"exit"

REM Ниже пример анализа кода возврата для оценки результата выполнения сценария set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%

WinSCP возвращает ERRORLEVEL равный нулю, если сценарий выполнен успешно. Команда exit /b %WINSCP_RESULT% формирует ERRORLEVEL для данного командного файла, который может быть использован в других сценариях для анализа результатов его выполнения.

Если выбрать Формат - Командная строка, то в качестве кода передачи будут сформированы параметры командной строки winscp.com для выполнении в среде командного процессора Windows. Как и в случае с командным файлом, потребуется некоторая правка пути журнала или его исключение. Например:

winscp.com /command "open ftp://anonymous:anonymous%40example.com@ftp.supermicro.com/" "cd /utility/Backplane_Utility" "lcd C:\Users\user\Temp\Backplane_Utility" "get backplane.zip" "exit"

Для получения сценариев на языках C#, VB.NET и PowerShell, используется вкладка Код сборки .NET

Код сборки .NET, создаваемой в среде WinSCP.


Полученный код для выполнения в среде PowerShell копируется в файл с расширением .ps1, например - C:\Users\User\temp\script1.ps1 и запускается на выполнение командой:

powershell -file C:\Users\User\tmp\script1.ps1

По умолчанию, в Power Shell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет выполнять в ней заранее подготовленные сценарии. Поэтому, если на экране отобразится сообщение о том, что невозможно загрузить файл сценария, так как выполнение скриптов запрещено для данной системы, нужно выполнить команду:

powershell -Command Set-ExecutionPolicy RemoteSigned

После выполнения данной команды, выполнение сценариев в среде PowerShell будет разрешено.

Полученный код сборки для PowerShell, может потребовать некоторой правки, в частности - указания полного пути для загрузки динамической библиотеки WinSCPnet.dll.

# Загрузить сборку .NET WinSCP
Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"
. . .


Использование планировщика заданий для автоматизации выполнения сценариев



Для запуска Планировщика заданий можно воспользоваться поиском в Windows, перейти в “Панель управления” - “Администрирование” - “Планировщик заданий”, либо выполнить команду taskschd.msc.
Библиотека планировщика заданий, отображаемая в левой части окна оснастки планировщика, имеет довольно непростую иерархическую структуру, поэтому, можно создать отдельную папку, с использованием контекстного меню, вызываемого правой кнопкой мышки и пункта Создать папку, ввести имя папки, и в дальнейшем, именно в ней создавать свои тестовые или рабочие задания.

Для создания задач планировщика могут использоваться два мастера, вызываемые в режимах Создать простую задачу и Создать задачу. При создании простой задачи используется минимальный набор параметров, не предусматривающий наличие множественных условий выполнения и множественных действий. Для запуска сценариев WinSCP по расписанию, вполне достаточно создания простой задачи.

Новую задачу можно создать с использованием пункта меню Действие - Создать простую задачу либо через контекстное меню, вызываемое правой кнопкой мышки на уровне созданной папки в библиотеке планировщика, либо на уровне "Библиотека планировщика", если такая папка не нужна. После чего запускается мастер создания задачи:

Мастер создания задачи для планировщика заданий Windows


На шаге Общие введите имя задания и его описание. Имя, для примера - DownloadFiles, а описание "Download files from ftp.supermicro.com". Описание может быть произвольным текстом, но желательно, чтобы оно отражало суть создаваемой задачи.

На шаге Триггер выполняется настройка условий, при возникновении которых, будет запущена создаваемая задача.

Триггер задачи для планировщика заданий Windows


На шаге Действия в качестве действия выбираем Запуск программы, в виде которой будет выступать созданный ранее командный файл Script1.bat, который нужно выбрать с использованием кнопки Обзор….

Действия задачи для планировщика заданий Windows




На шаге Завершение нажмите кнопку Готово и задание будет создано. Настройки созданного задания можно изменить в любое время при наличии у пользователя соответствующих прав.




Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой "Поделиться" для своей социальной сети














В начало страницы       |       На главную страницу сайта




Рейтинг@Mail.ru Яндекс.Метрика