Назад | Перейти на главную страницу

отправка файлов через sftp

Клиент хочет, чтобы мы ежедневно отправляли ему файлы данных с использованием SFTP (FTP через SSH). Мы на 100% представляем собой магазин Microsoft, в штате которого нет администраторов Linux. Я ищу рекомендации, как этого добиться. Я видел разные приложения для автоматизации отправки файлов через SFTP, но не знаю, подходят они или нет.

Как вы нашли самый простой способ справиться с этим в среде Microsoft?

Я рекомендую PSFTP в качестве предпочтительного клиента для передачи этих данных в удаленное место назначения. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Их продукты надежны и стали довольно популярными благодаря успеху их SSH-клиента PUTTY.

Вам просто нужен SFTP-клиент и способ его создания и планирования.

  1. WinSCP очень распространен для клиентского программного обеспечения. Таким образом, это скрипт ...
  2. вы захотите использовать все, что вам удобно и, желательно, уже используете - пакетную обработку, PowerShell, VBScript, KiXtart, что угодно.
  3. Вы можете запланировать его со сборкой в ​​разделе «Назначенные задачи».

Это простой способ, используя все собственные инструменты и только один сторонний компонент. Сложные моменты будут:

  1. логика вашего скрипта. Как вы будете справляться с ошибками? Всевозможные ошибки - вы потеряли интернет, поэтому их сторона отключилась. Файловый сервер, с которого вы загружаете, был неправильно настроен, и вы не смогли удалить файл после его отправки. Собственно, это другой вопрос - вы их удаляете после отправки? Вы кормите конвейер или архивную копию?
  2. Как вы будете справляться с возможностью выполнения нескольких заданий - задание в 1 час ночи занимает слишком много времени, поэтому оно все еще выполняется, например, в 2 часа ночи. Вы можете поработать над некоторыми из них с помощью встроенных возможностей планировщика, например, убивая задачи, которые занимают слишком много времени.
  3. Это обязательно должен быть HA? Если ваш сервер выходит из строя, нужен ли вам другой, чтобы продолжить с того места, где он остановился?

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

Я использую этот компонент Open Source / free .Net для доставки файлов в SFTP без каких-либо проблем в течение последних 2 лет.

Если вы ссылаетесь на файлы сборки (Tamir.SharpSSH.dll + 2), в нескольких строках кода вы можете выполнить SFTP ..

            Sftp sftpClient = new Sftp(host, userName, password);
            sftpClient.Connect();

            sftpClient.Put(filePath, @"filename.txt");
            sftpClient.Close();

Вы можете разработать приложение для Windows или службу Windows для обеспечения

Скачать сборку здесь:

http://www.tamirgal.com/blog/page/SharpSSH.aspx

Описание: SharpSSH - это чистая .NET-реализация набора клиентских протоколов SSH2. Он предоставляет API для связи с серверами SSH и может быть интегрирован в любое приложение .NET. Библиотека - это Порт C # проекта JSch от JCraft Inc. и выпущен под лицензией стиля BSD.

SharpSSH позволяет читать / записывать данные и передавать файлы по каналам SSH с помощью API, аналогичного API JSch. Кроме того, он предоставляет несколько дополнительных классов-оболочек, которые предлагают еще более простую абстракцию для связи по SSH.

Если вы ищете SFTP-клиент с возможностью сценариев и автоматизации, который работает не только в Windows, но и разработан для Windows (он не имитирует сценарии в стиле оболочки Linux, но использует объектно-ориентированные языки высокого уровня, такие как JavaScript) вы можете взглянуть на FTP-скрипт Syncplify.me.