SFTP 后存档多个文件

问题描述 投票:0回答:1

我能够从远程获取文件并存档,我想在获取后将文件存档到远程上的另一个文件夹,但单个文件可以很好地用于远程,而多个文件则失败。

请帮助使其发挥作用。

  echo "begin"
  port = "22"
  host_name = "host"
  sftp_username = "user"
  sftp_password = "password"
  FTP_TYPE = "$5"
  SOURCE_PATH = "$6"
  DEST_PATH = "$7"
  FILE_NAME = "$8"
  echo "File name: ${FILE_NAME}"
  echo "SOURCE_PATH: ${SOURCE_PATH}"
  echo "DEST_PATH: ${DEST_PATH}"
  echo "sftp connection begin"
  / usr / bin / expect << EOF
  spawn sftp - C - oPort = $port $sftp_username @ $host_name
  expect "password:" expect
{

  "yes/no"
  {
    send "yes\r";
  exp_continue}
"password"}

send "$sftp_password\r"
  expect "sftp>"
  send "cd ${SOURCE_PATH}\r"
  expect "sftp>" send "mget *.csv ${DEST_PATH}\r" expect "sftp>"
#send "cd /bucket/DEV/PO/EBS2CLD\r"
#expect "sftp>"
#send "rename data/.csv archive/.csv\r"
#expect "sftp>"
  send "quit\r"
  EOF
  echo "Above file(s) transferred from SFTP to Oracle Server"
  echo "ftp connection end" echo "end" fi ```
sftp expect archive
1个回答
0
投票

看看这个:

echo "begin"
port="22"
host_name="host"
sftp_username="user"
sftp_password="password"
FTP_TYPE="$5"
SOURCE_PATH="$6"
DEST_PATH="$7"
FILE_NAME="$8"
echo "File name: ${FILE_NAME}"
echo "SOURCE_PATH: ${SOURCE_PATH}"
echo "DEST_PATH: ${DEST_PATH}"
echo "sftp connection begin"
/usr/bin/expect << EOF
spawn sftp -C -oPort=$port $sftp_username@$host_name
expect "password:"
send "$sftp_password\r"
expect "sftp>"
send "cd ${SOURCE_PATH}\r"
expect "sftp>"
send "mget *.csv ${DEST_PATH}\r"
expect "sftp>"
send "quit\r"
EOF
echo "Above file(s) transferred from SFTP to Oracle Server"
echo "ftp connection end"
echo "end"
© www.soinside.com 2019 - 2024. All rights reserved.