загрузка в пакетный режим sftp

Для 100% переносимости вы можете использовать awk :

awk '{print NR,$0}' file | more
1
02.05.2018, 11:38
2 ответа

Вы можете использовать «Пакетный режим» sftp. Из руководства:

> -b batchfile
>              Batch mode reads a series of commands from an input batchfile instead of stdin.  Since it lacks user interaction it
>              should be used in conjunction with non-interactive authentication.  A batchfile of ‘-’ may be used to indicate
>              standard input.  sftp will abort if any of the following commands fail: get, put, reget, reput, rename, ln, rm,
>              mkdir, chdir, ls, lchdir, chmod, chown, chgrp, lpwd, df, symlink, and lmkdir.  Termination on error can be sup‐
>              pressed on a command by command basis by prefixing the command with a ‘-’ character (for example, -rm /tmp/blah*).

Это означает, что вы создаете временный файл с командами и выполняете команды в файле с «sftp -b tempfile user@server»

Для таких вещей есть другие инструменты, например. лфтп

4
27.01.2020, 23:43

Ответ от Марко побудил меня создать простой скрипт для переноса процесса,но по сути то, что я делаю в сценарии, это следующее:

  1. создание пакетного файла с put {local} {remote}командами для файла (с )для загрузки.
  2. выполнение следующей команды:

sftp -b {batch_file} -i {identity_file} -o StrictHostKeyChecking=no {username}@{hostname}

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

Я просто хотел включить этот ответ здесь в более полной форме для будущих посетителей.

2
27.01.2020, 23:43

Теги

Похожие вопросы