Я загружаю все файлы в каталог через 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 и т. Д.