我能够从远程获取文件并存档,我想在获取后将文件存档到远程上的另一个文件夹,但单个文件可以很好地用于远程,而多个文件则失败。
请帮助使其发挥作用。
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 ```
看看这个:
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"