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

получение всех файлов в каталоге через SFTP с добавлением переменной перед именами файлов

Я загружаю все файлы в каталог через SFTP, используя синтаксис ниже:

sshpass -p 'mypass' sftp name@$IP:/var/log/* 

С помощью приведенного выше однострочного файла я могу загружать все файлы из / var / log

Но я хочу, чтобы к каждому загружаемому имени файла добавлялся $ IP.

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

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

sshpass -p 'mypass' sftp name@$IP < <(echo "get /var/log/file1.log ${IP}.file1.log" ) 

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

Примечание. SFTP - единственный вариант, а не scp / rsync и т. Д.