私は自動化しようとしているベンダーの1つに毎週ファイル転送をしています。彼らは私たちに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/