Winscp как архивировать файлы

Обновлено: 06.07.2024

Как можно заархивировать, скачать и удалить (ZDD) файл в WinSCP?

Например, ваш локальный каталог - «Рабочий стол», а ваш удаленный каталог (тот, который находится на вашем сервере), скажем, /var/www/html вы хотите заархивировать и загрузить определенный каталог или файл, а затем вы хотите, чтобы он был удален в момент загрузки законченный.

enter image description here

Для дальнейшего объяснения, в Linux я мог бы сделать, например:

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

Мой вопрос:

Знаете ли вы, как добиться этого с WinSCP?

Там нет общего магического решения этого. Для начала нам нужно узнать, какой протокол вы используете в WinSCP. Martin Prikryl 4 года назад 0 Привет Мартин! Для меня большая честь, что вы комментируете это! Я использую SFTP (на родном порту). Я знаю, что можно настраивать команды в WinSCP, но мне неясно, как можно настраивать многострочный набор команд, как я показал выше в этом вопросе. Более того, мне неясно, должны ли эти команды быть написаны на Bash или Powershell (?) Или применимы обе. Я смиренно надеюсь, что ответ на этот вопрос тоже будет таким. JohnDoea 4 года назад 0

1 ответ на вопрос

Невозможно архивировать файлы по любому протоколу передачи файлов (SFTP, FTP, SCP или WebDAV). Поэтому в WinSCP такой функции нет, так как она не может быть надежно реализована.

Хотя, если у вас есть доступ к серверу в командной оболочке, вы можете использовать команду оболочки для архивирования файлов. Это фактически то, что делает пользовательская команда Tar / GZip .

Если вы хотите сделать это за один раз (zip-and-download), вам нужно будет реализовать более сложную настраиваемую команду / расширение, которая открывает собственный сеанс для загрузки . Это было бы очень похоже на файлы Pack в ZIP-архив и загрузить его пример. За исключением того, что его использовали бы Session.ExecuteCommand для выполнения zip (или аналогичного) на удаленном сервере.

winscp_lead

Вы слышали это снова и снова: сделайте резервную копию ваших данных. Существует множество решений для резервного копирования, но нет ничего лучше простого и бесплатного решения. Итак, с помощью нескольких строк кода и очень полезной программы под названием WinSCP мы собираемся настроить автоматическую синхронизацию между вашим FTP-сервером и вашим домашним компьютером.

FTP (File Transfer Protocol) — это интернет-протокол, который позволяет пользователям передавать файлы между компьютерами. Несмотря на свою старость (вспомните эпоху до TCP / IP), FTP и его родственный протокол SFTP (Secure File Transfer Protocol) по-прежнему очень популярны сегодня и рассматриваются как простой способ передачи файлов локально и через Интернет. Это также очень хороший способ сохранить резервную копию важных файлов, хранящихся на вашем FTP-сервере.

Если вы не хотите платить за стороннее FTP-решение, ознакомьтесь с этой статьей о том, как создать свой собственный FTP-сервер, написанный опытными людьми из Lifehacker.

Требования

  • FTP-сервер и учетные данные для доступа
  • Компьютер под управлением Windows
  • Копия WinSCP (только для Windows)

Настройка WinSCP

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

winscp1

winscp2

Создание сценария

Мы собираемся создать простой сценарий, который регистрируется на вашем FTP-сервере, сообщает WinSCP, куда загружать недостающие файлы на ваш компьютер, а затем создает файл журнала, который записывает действия FTP. Идите вперед и откройте Блокнот на вашем компьютере. Скопируйте следующий шаблон скрипта в Блокнот:

Вот краткое объяснение того, что происходит в сценарии. WinSCP ответит на все запросы отрицательно, чтобы избежать задержки сценария. Затем он автоматически перезапишет файлы при появлении запроса. Затем он входит на ваш FTP-сервер, используя профиль, который мы создали ранее, изменяет каталоги (если необходимо) и передает двоичный файл (в отличие от ASCII). Наконец, он читает удаленный каталог FTP и передает файлы в указанный локальный каталог. Для получения дополнительной информации посетите официальную страницу сценариев WinSCP.

Теперь, прежде чем изменить или запустить этот скрипт, мы предлагаем создать тестовые каталоги как для удаленных, так и для локальных целей. Последнее, что вы хотите, это случайно стереть ваш FTP-сервер без каких-либо резервных копий. Поэтому создайте на своем компьютере каталог с именем «testlocal» (мы создали его в папке f: \ backups), а другой — с именем «testremote» на вашем FTP-сервере (мы создали его в корневом каталоге). После того, как вы запустите скрипт и он успешно выполнится, сохраните его как «sync.txt» на вашем компьютере (мы сохранили наш в нашей папке testlocal). Теперь вы готовы автоматизировать скрипт.

Автоматизация сценария

Мы собираемся позволить Windows управлять автоматизацией, используя встроенный планировщик задач. В Windows 7 откройте Панель управления> Система и безопасность> Администрирование> Планировщик задач.

winscp3

В правом столбце нажмите кнопку «Создать базовую задачу».

winscp4

Назовите и опишите вашу задачу, а затем нажмите «Далее».

winscp5

Следующая опция определит, как часто задача будет выполняться. Мы решили запускать скрипт каждый раз, когда включаем наш компьютер. Вы можете выбрать менее частую опцию, например Еженедельно, чтобы запускать ее реже.

winscp6

winscp7

Вы увидите краткое изложение вашей задачи. Если это выглядит правильно, нажмите Готово. Наконец, чтобы убедиться, что задача выполняется правильно, мы ее запустим. Убедитесь, что у вас есть хотя бы один файл в каталоге testremote (то есть «thisisatest.txt»). Выделите только что созданную задачу и нажмите «Выполнить» в правом столбце. Вы должны увидеть командную строку, подключиться к вашему FTP-серверу, а затем синхронизировать файл (ы).

winscp8

Ваше тестовое задание должно быть выполнено, и ваш тестовый файл должен теперь находиться в указанной локальной папке. Если вы столкнулись с какими-либо ошибками, проверьте файл журнала, чтобы узнать, почему.

Это все, что есть! Теперь у вас есть бесплатное решение для резервного копирования, которое будет синхронизировать все ваши файлы FTP с локальной папкой. В случае сбоя вашего FTP-сервера или случайного удаления файла вы можете восстановить копию с вашего компьютера!

WinSCP — свободно распространяемая программа для Windows для защищенного копирования файлов между компьютером и сервером, поддерживающим протоколы SFTP, SCP, SSH-1, SSH-2.

1. Установка WinSCP

  • Данная программа не требует установки, просто скопируйте исполняемый файл в любую удобную для вас папку.

2. Подключение к серверу



    В окне WinSCP выберите сессию Tornado и нажмите «Login ».


3. Копирование/перемещение файлов

  • После того, как вы удачно подключитесь к суперкомпьютеру, вы увидите следующее окно:


  • В правой части окна, где отображаются файлы и папки сервера, перейдите в папку, в которую вы хотите скопировать/переместить файлы с локального компьютера. Перемещение по папкам происходит так же как в проводнике Windows.
  • В левой части окна перейдите в папку, из которой вы хотите копировать файлы.
  • Выделите файлы для копирования. Для этого либо выделяйте нужные файлы по очереди, щелкая по ним мышкой и удерживая клавишу Ctrl, либо выбирайте непрерывный диапазон файлов, щелкнув на первый, а потом, удерживая клавишу Shift, на последний файл из выбираемого диапазона.
  • Скопируйте/переместите выделенные файлы из активной половины окна в другую, нажав кнопку «Copy »/»Move» внизу окна или F5/F6 на клавиатуре, а затем нажав «Copy »/»Move» еще раз в появившемся окне.

Примечание: копирование/перемещение файлов с сервера на локальный компьютер осуществляется аналогично.

WinSCP – многофункциональный графический FTP-клиент, который поддерживает передачу данных через распространённые протоколы:

  • SFTP (SSH File Transfer Protocol);
  • SCP (Secure Copy Protocol);
  • FTP (File Transfer Protocol);
  • WebDAV;
  • Amazon S3.

Бесплатно скачать WinSCP можно с официального сайта.

как пользоваться программой WinSCP - описание

Технические характеристики

Операционная система: Windows 10/8/7/Vista/XP.
Поддержка русского языка: Есть.
Технические требования: SSH-сервер с поддержкой SFTP/SCP / FTP-сервер / WebDAV-сервер.
Лицензия: Бесплатная.

Особенности программы WinSCP

  • Отправка проверочных пакетов серверу для поддержания целостности соединения.
  • Встроенный текстовый редактор и командная строка.
  • Редактирование файлов на сервере в режиме реального времени, без загрузки на устройство.
  • Встроенная командная строка.
  • Интеграция с программой Putty.
  • Сохранение данных авторизации, использованных для подключения к серверу (хост, логин и пароль).
  • Возможность создания нескольких соединений.
  • Работа на переносном носителе, без установки программы в систему.
  • Сохранение и перенос настроек программы в формате INI (.ini).

Основной функционал WinSCP

О работе с основным функционалом далее будет кратко рассказано на примере ОС Windows 10. Для остальных операционных систем семейства Windows действия аналогичны.

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

Добавление нового подключения

Подключиться к серверу через WinSCP можно по следующему алгоритму:

В случае успешного подключения в правом окне откроется директория сервера, что позволит начать работу с файлами.

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

Особенность WinSCP – встроенная командная строка, которая позволяет управлять удалённым сервером. Открыть консоль можно следующим способом:

Включение отображения скрытых файлов

Теперь программа будет отображать скрытые файлы полупрозрачным цветом.

Управление параметрами WinSCP

Все настройки программа WinSCP хранит в реестре.

Путь к настройкам в реестре для Windows 10: HKEY_LOCAL_MACHINE/Software/Martin Prikryl/WinSCP 2.

WinSCP поддерживает экспорт/импорт параметров в файл INI (.ini). Это позволяет перенести настройки в программу WinSCP, установленную на другом устройстве или создать бэкап настроек для восстановления, в случае потери данных.

Экспорт параметров WinSCP

Включение отображения скрытых файлов

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и нажать «Экспорт/сохранение настроек».
  3. Откроется окно проводника. Нужно выбрать папку, в которую будет сохранён INI (.ini) файл с настройками и нажать «ОК».

Импорт параметров WinSCP

  1. На главной странице WinSCP нажать «Новое подключение».
  2. Открыть вкладку инструменты и выбрать «Импорт/восстановление настроек».
  3. Появится окно с предупреждением. Для продолжения нужно нажать «ОК».
  4. Далее откроется окно проводника. Для восстановления параметров нужно перейти в директорию с резервной копией настроек WinSCP, выбрать INI (.ini) файл и нажать «Открыть».

По умолчанию программа хранит настройки по пути: C:\Users\Имя_Пользователя\Documents\ .

Аналоги для Linux

Если требуется подключиться к серверу с операционной системы Linux, то вместо WinSCP можно рассмотреть альтернативные FTP-клиенты.

CrossFTP

 crossftp

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, FTPS, SFTP, FXP, WebDav, Amazon S3, Amazon Glacier, Microsoft Azure, Google Storage и OpenStack Swift.
Поддержка русского языка: Нет.
Лицензия: Бесплатная. Есть платная версия с расширенными возможностями.

CrossFTP отсутствует в официальных репозиториях Linux. Установка производится путём скачивания и запуска инсталлятора.

FileZilla

FileZilla - общий вид

Операционная система: Linux, Windows, MacOS и др.
Поддерживаемые протоколы: FTP, SFTP, FTPS.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка на CentOS из Epel-репозиториев выполняется командами:

Инсталлятор FileZilla можно скачать с официальной страницы загрузок.

gftp

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки и исходный код программы GFTP можно найти на официальной странице GitHub.

Krusader

Krusader

Операционная система: Linux, Windows (Beta-стадия), MacOS и др.
Поддерживаемые протоколы: FTP, SAMBA, SFTP, SCP.
Поддержка русского языка: Есть.
Лицензия: Бесплатная.

Установка на Ubuntu/Debian из официальных репозиториев выполняется командой:

Установка в CentOS из Epel-репозиториев выполняется командами:

Сборки Krusader можно скачать с официальной страницы загрузок.

Заключение

Возможности SFTP-клиента далеко не ограничиваются приведенными выше функциями. WinSCP способен не только безопасно передавать данные, но и работать в связке с SSH-клиентом Putty, а также редактировать файлы на сервере без загрузки на устройство, используя готовые скрипты.

Более развернутые инструкции о том, как пользоваться WinSCP можно найти в официальной документации программного продукта.

Через некоторое время использования своего скрипта заметил, что наработки выросли (я разбираю каждую мелочь, да и мои проекты в свободное от работы время, изучение нового, комбинирование нового и старого), а в следствии возросло время передачи. В принципе оно так и должно быть.

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

Данные потеряны. Связь потеряна

Размер передаваемого бекапа на Yandex-Диск составляет на момент написания данной заметки: 10.12.2014_<firma>_v1.7z -85Мб, через обычное копирование посредством утилиты copy связь может прерваться и данные буду потеряны, ведь нет ни каких механизмов проверки и поддержания соединения, поэтому я хочу поделиться с читателями моего блога еще одним практическим скриптом.

Но теперь я бекапирую результаты своих наработок на FTP ресурс посредством безопасного подключения через инициализацию sftp соединения.

if exist "C:\Program Files\7-Zip\7z.exe" goto n:

if exist "C:\Users\ekzorchik\Documents\tips_<firma>\file.txt" goto zip:

cd /d "C:\Program Files\7-Zip\"

7z a -t7z -p -mhe c:\1\%date%_<firma>_v1.7z C:\Users\ekzorchik\Documents\tips_<firma>\

rem Скрипт отработал

cd /d C:\Users\ekzorchik\Documents\tips_<firma>\tips_exe\

WinSCP.com /script="C:\Users\ekzorchik\Documents\tips_<firma>\tips_exe\sftp.txt" /log="C:\Users\ekzorchik\Documents\tips_<firma>\tips_log\winscpsftp.log"

rem А это работает, если данные строчки просто скопировать в консоль и запустить - они конечно же отработают, но в текущем скрипте такого не происходит.

rem cd /d "C:\Users\ekzorchik\Documents\tips_<firma>\tips_exe\ssh\"

rem pscp.exe -batch -l <user> -pw "<password>" -P <port> -r c:\backup\%date%_firma_v1.7z <user>@<host>:/backup/

А теперь некоторые пояснения:

Файл sftp.txt – это файл, отвечающий за подключение к удаленному FTP ресурсу, содержимое которого:

option batch abort

option confirm off

option reconnecttime 3

put c:\1\*.7z /backup/

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

Также в скрипте фигурирует указание, что сохранять лог работы соединения к FTP ресурсу , для себя же это я сделал, чтобы немного понимать все что делается.

Скрипт работает. С моего блога Вы можете скачать Шаблон скрипта для бекапирования наработок и уже после адаптировать его под свои нужны.

Конечно же он не претендует на универсальность, но в последствии как только возникнет необходимость в дополнении я его просто буду модернизировать, оборачивать дополнительным функционалом.

Сейчас это мой инструмент сохранения своих наработок, мой плод интеллектуального труда, мое время. На этом буду прощаться, с уважением автор блога – Олло Александр.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще :)

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Читайте также: