Как создать средство автоматической загрузки и выгрузки файлов с помощью команды WinSCP.


Дата публикации:9 декабря 2020 года.



INFOMARTION > Как создать средство автоматической загрузки и выгрузки файлов с помощью команды WinSCP.

Обзор.

Создайте средство автоматической загрузки и выгрузки файлов с помощью команды WinSCP. Выполните команды, предоставленные WinSCP, с помощью командной строки. Неудивительно, что WinSCP предоставляет команды. Обычно вы используете 'WinSCP.exe', но можно использовать и 'WinSCP.com'. Вы почти никогда не увидите папку "C:\Program Files (x86)\WinSCP" в месте назначения ярлыка, так как обычно вы открываете его в основном с ярлыка, но если вы посмотрите на место назначения ярлыка, "WinSCP.com" также должен храниться там. Именно здесь создается инструмент.

Оглавление

  1. Что такое команда WinSCP?
  2. Инструмент автоматической загрузки
  3. Инструмент автоматической загрузки
  4. Другие команды, которые могут часто использоваться
  5. резюме

1. Что такое команда WinSCP?

Команда WinSCP - это команда, которая позволяет вам выполнять операции WinSCP, которые вы обычно выполняете в графическом интерфейсе. Эта операция, которую вы обычно выполняете на экране, выполняется с помощью команды.

1-1. Что вы можете сделать.

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

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

open・・・Используется для подключения.

get・・・Используется для загрузки файлов.

put・・・Используется для загрузки файлов.

exit・・・Используется для резки.

1-2. Что вы не можете сделать.

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

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

Если вы хотите прикрепить сложные условия к файлу, с которым нужно работать, вы можете вызвать оболочку командой 'call', что можно сделать с помощью команд Windows, команд Linux и т.д.

2. Инструмент автоматической загрузки

Мы хотели бы создать инструмент, который будет автоматически загружать журналы, размещенные на сервере Linux.

2-1. создание

Создайте инструмент со следующими условиями.

・Windows 10 в качестве среды выполнения.

・Сервер, который будет приобретен, является Linux.

・IP-адрес 192.168.50.10.

Сначала создайте bat-файл в качестве отправной точки для активации.

file_get.bat


@setlocal enabledelayedexpansion
@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%
@mkdir %FOLDER%
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

За исключением последней строки, остальная часть процесса является командой Windows. Содержание.

@setlocal enabledelayedexpansion

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

@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%

Процесс получения yyyymmddhmmss из текущего времени и окончательного помещения его в переменную FOLDER.

@mkdir %FOLDER%

Создайте папку 'yyyymmddhmmss' непосредственно под папкой, в которой был выполнен пакет.

@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

WinSCP.com (команда WinSCP). Выполняются команды, перечисленные в файле "ftp.txt" в той же папке, где хранится пакетный файл. Передайте в качестве аргумента путь к папке, которую вы только что создали.

На этом создание файла вызывающего абонента завершено. Команда WinSCP описана в файле "ftp.txt".

ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
get /var/log/httpd/access_log %1%\
close
exit

Содержание.

option batch on

Для процессов, требующих запроса, система автоматически предполагает, что выбрано значение "Нет", и автоматически выполняет процесс. Если вы включите этот параметр, он автоматически перезапишет все дублирующиеся имена файлов. (Вы можете создать папку "yyyymmddhmmss" и поместить файлы туда, чтобы не было дублирования имен файлов.)

option transfer binary

Настройте передачу данных в двоичном режиме.

open test:testpassword@192.168.50.10

'username:pass-word@IP address'. Подключитесь к IP-адресу "192.168.50.10".

get /var/log/httpd/access_log %1%\

Храните '/var/log/httpd/access_log' в папке 'yyyymmddhhmmss'.('%1%' - аргумент, переданный в файле file_get.bat)

Также можно использовать регулярные выражения, поэтому если вы напишете "/var/log/httpd/*", то можно получить весь журнал.

close
exit

Это процесс разъединения.

На этом создание инструмента завершено.

2-2. подготовка к внедрению

Перед казнью проводится предварительное снятие отпечатков пальцев.

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

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Вам будет предложено ответить, введите "y".
close
exit
exit

'test:testpassword@192.168.50.10' следует заменить на 'имя пользователя:пароль@IP-адрес'.

На этом предварительная подготовка завершена.

2-3. реализация

Наконец, пришло время его реализовать. Дважды щелкните на файле 'file_get.bat'.

Успех, если папка "yyyymmddhhmmss" создана и журналы сохранены в ней.

3. Инструмент автоматической загрузки

Следующий шаг - создание инструмента для размещения файлов на сервере Linux. Основная конструкция будет такой же, как и у инструмента загрузки.

3-1. создание

Создайте инструмент со следующими условиями.

・Windows 10 в качестве среды выполнения.

・Сервер назначения - это Linux.

・IP-адрес 192.168.50.10.

Сначала создайте bat-файл в качестве отправной точки для активации.

file_put.bat


@setlocal enabledelayedexpansion
@set FOLDER_NAME="put_files\*"
@set FOLDER=%~dp0%FOLDER_NAME%
@set PUT_FOLDER="/tmp/"
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0put_ftp.txt /parameter %FOLDER% %PUT_FOLDER%

Поскольку это было объяснено в инструменте автоматической загрузки, небольшое пояснение опускается, но процесс заключается в сохранении файлов в папке 'put_files' в той же папке, где выполняется пакетный файл в '/tmp/'. Фактический процесс хранения описан в файле "put_ftp.txt".

put_ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
put %1% %2%
close
exit

Команда "put %1%\ %2%" загружает файлы в соответствии с "исходным файлом" и "папкой назначения", переданными в качестве аргументов, хотя небольшое пояснение опущено, поскольку это также объясняется в инструменте автоматической загрузки.

3-2. подготовка к внедрению

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

Выполните следующую команду в командной строке.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Вам будет предложено ответить, введите "y".
close
exit
exit

'test:testpassword@192.168.50.10' следует заменить на 'имя пользователя:пароль@IP-адрес'.

На этом предварительная подготовка завершена.

3-3. реализация

Наконец, пришло время его реализовать. Дважды щелкните по файлу 'file_put.bat'.

Успех, если файлы, сохраненные в 'put_files', переданы в папку '/tmp/'.

4. Другие команды, которые могут часто использоваться

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

4-1. аутентификация ключа

Ранее вы вошли в систему с аутентификацией по паролю в соответствии со следующим описанием.

open test:testpassword@192.168.50.10

'open username:password@IP address'. Для аутентификации ключа действует следующее.

open test@192.168.50.10 -privatekey=id_rsa.ppk

'-privatekey=id_rsa.ppk' - это путь к ключу. Поскольку он указан как относительный путь, предполагается, что ключ (id_rsa.ppk) также находится в папке, где расположен исполняемый файл (bat-файл). Например, если ключ находится непосредственно под диском C, напишите "-privatekey=C:\id_rsa.ppk".

4-2. Вызов оболочки

Чтобы вызвать оболочку с помощью команды WinSCP, напишите следующее.

option batch on
option transfer binary
open test:testpassword@192.168.50.10
call sh /tmp/test.sh
close
exit

'test.sh' выполняется командой 'call sh /tmp/test.sh'. Также можно передавать аргументы. При передаче аргументов записывайте их как "call sh /tmp/test.sh param1".

5. резюме

Была описана команда WinSCP.

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

Спасибо, что досмотрели до конца.