リモートサーバーへのSFTPのBashスクリプトとファイルのダウンロード、ローカルシステムのディレクトリを変更するためのCD

リモートサーバーへのSFTPのBashスクリプトとファイルのダウンロード、ローカルシステムのディレクトリを変更するためのCD

毎日このbashスクリプトを実行しているUbuntuサーバーにcronがあります。

#!/usr/bin/expect -f
spawn sftp user@ip
expect "password:"
send "password\n"
expect "sftp>"
send "cd remote_directory\n"
expect "sftp>"
send "lcd ~/dtc/data/outstanding\n"
expect "sftp>"
send "mget * \n"
expect "sftp>"
send "exit\n"
interact

SFTPを介してリモートサーバーに接続し、複数のファイルをダウンロードします。これは問題なく動作しますが、このスクリプトを実行しているコンピュータ(マイサーバー)の特定のディレクトリにファイルが表示されることを望みます。

これが私が8行目でやろうとしていることですが、成功しませんでした。 cronを介してこのスクリプトを実行し、ダウンロードしたファイルが正しいディレクトリに配置されるように、サーバーの正しいディレクトリにCDがあることを確認するにはどうすればよいですか?

ベストアンサー1

最も簡単な解決策は、cdファイルを保存したいディレクトリに移動してExpectスクリプトを実行し、lcdスクリプトの8行目のコマンドを省略することです。

おすすめ記事