scp с паролем и переименование файла

Мне нужно выполнить команду scp с переименованием файла.

Я пробовал со следующим кодом:

HOST=lnx25 USERNAME=ngqa PASSWORD=xxxxx FILE=$1 FILE_NAME=`echo $FILE | awk 'BEGIN{FS="/"} {print $NF;}'` todayDateVar=`date | awk 'BEGIN{FS=" ";OFS="_"} {print $2,$3,$6;}'` REPORT_HOME="/dnbusr1/ngqa/scp_script/new/" DES_PATH="/ngdata/nc_donotdelete/test_out_files/$FILE_NAME.$todayDateVar" scp $FILE $USERNAME:"$PASSWORD"@$HOST:sys_config $DES_PATH 

Результат: (Запустите с ./scp.sh sample.obj)

 /ngdata/nc_donotdelete/test_out_files/sample.obj.Sep_23_2014: No such file or directory 

Я предполагаю, что эта ошибка указывает ни один из доступных в этом имени каталогов. Но всякий раз, когда я пытался без переименования файла, он отлично работает. Следующий код отлично работает без переименования файла.

 DES_PATH="/ngdata/nc_donotdelete/test_out_files" 

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

2 Solutions collect form web for “scp с паролем и переименование файла”

Если DES_PATH="/ngdata/nc_donotdelete/test_out_files/$FILE_NAME.$todayDateVar" не работает, а DES_PATH="/ngdata/nc_donotdelete/test_out_files" , это означает, что /ngdata/nc_donotdelete/test_out_files не существует, а ваш файл сохраняется как /ngdata/nc_donotdelete/test_out_files а не /ngdata/nc_donotdelete/test_out_files/$1 (поскольку целевой путь может быть либо каталогом, либо именем файла, а scp будет рассматривать его как каталог, только если этот путь существует и уже каталог или ссылка на каталог). Вы можете добавить косую черту в конец пути назначения, чтобы гарантировать, что она всегда рассматривается как каталог, а не файл.

простой пароль в файле – плохая идея. Кроме того, у меня нет опции -p passwd .

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

 ssh-keygen 

(принять все значения по умолчанию, не использовать пароль)

Этот шаг должен быть выполнен для каждого пользователя

затем, один раз

 ssh-copy-id ngqa@lnx25 

Этот шаг должен быть выполнен для каждого пользователя и каждого хоста.

то в вашей оболочке последняя строка может быть

 scp $FILE $USERNAME@$HOST:$DEST_PATH 
  • Где я могу узнать, как написать сценарий оболочки, который настолько портативен, насколько это возможно?
  • Сценарий оболочки Linux для перезагрузки нескольких Linux-машин
  • Ошибка перенаправления Sub Shell с переменной (while ...) $ 3> $ testdir / $ testfile.log
  • Как пропустить невосприимчивый сервер
  • вытягивание строк из смешанного файла строк и двоичных
  • Обрезать последние символы из строки
  • Буфер памяти в сценарии bash
  • Создайте ассоциативный массив из вывода двух команд
  • Нужна помощь в улучшении моего скрипта Bash
  • SSH вызывает остановку цикла
  • Список файлов, которые лексически появляются после / больше заданного префикса (или запускать сценарии обновления базы данных в правильном порядке)
  • Interesting Posts

    Как решить проблему, возникающую при открытии диспетчера пакетов Synpatic

    Загрузочное изображение с драйверами LAN

    Почему пользователь без какой-либо записи PASSWD в конфигурации sudo должен аутентифицироваться каждый раз?

    VNC на элементарных os

    Как измерить время запуска Firefox?

    Настройки повтора клавиатуры KDE не работают / не действуют?

    Замените определенные строки на значение из предыдущей строки

    Как удалить строку, если строка является единственной вещью на линии

    rsync жалуется на символические ссылки

    Что поддерживает иерархия в cgroup?

    Является ли strace подходящим инструментом для выяснения, где программа написала файловую систему?

    arm-linux-androideabi-gcc не может создать исполняемый файл в Windows 10

    Вызов bash из sh (тире) с командами, считанными из args, и «Unterminated quoteed string» / «неожиданный EOF»

    Доступ к прокси-серверу ssh с другого хоста

    Как найти все репозитории git в заданных папках (быстро)

    Linux и Unix - лучшая ОС в мире.