LFTP를 사용하여 SFTP 자동화

LFTP를 사용하여 SFTP 자동화

저는 자동화하려고 하는 공급업체 중 한 곳으로 매주 파일 전송을 하고 있습니다. 그들은 우리에게 sftp를 사용하여 파일을 전송하라고 요청했습니다. 사용자 이름과 비밀번호를 사용하여 SFTP 서버에 로그인합니다.

내 스크립트는 서버에 연결할 수 있지만 추가 명령은 처리하지 않습니다. 내 질문은 로그인 후 실행할 스크립트를 LFTP에 전달할 수 있습니까?

이것은 내 스크립트입니다. 무고한 사람들을 보호하기 위해 자격 증명을 변경하십시오.

fromfile=$1
cd /ssg/cc/outgoing
echo "sftping file ..."
echo $fromfile
lftp -u prodlogin,prodpassword sftp://sftp.datacloud.server.com
cd inbox
!ls
put $fromfile
dir
bye
mv $fromfile /ssg/cc/save/$fromfile

여기에는 단순한 것이 빠진 것 같습니다. 그렇기 때문에 lftp스크립트 파일을 통해 명령을 전달할 수 있는지 궁금합니다 .

답변1

스크립트가 거의 필요하지 않습니다.

#!/bin/bash
fromfile="$1"
echo "SFTPing file: $fromfile"

lftp --user 'prodlogin' --password 'prodpassword' sftp://sftp.datacloud.server.com/~/inbox -e "put /ssg/cc/outgoing/$fromfile; exit" &&
    mv -f "/ssg/cc/outgoing/$fromfile" /ssg/cc/save/

관련 정보