site-logo
G
N
I
D
A
O
L
expect

FTPサーバーへのセキュアでないファイル転送自動化

古いFTPクライアントのように対話が前提のコマンドに対し、ログインからコマンド実行、切断までを自動化します。

実行コマンド

spawn ftp ftp.example.com; expect "Name"; send "ftpuser\r"; expect "Password:"; send "ftppassword\r"; expect "ftp>"; send "put data.zip\r"; expect "ftp>"; send "bye\r"

💡 利用シーン

SFTPが使用できず、従来のFTPを利用しなければならないレガシーなバックアップ運用。

💻 実行結果例

226 Transfer complete.
221 Goodbye.

📝 実務メモ

expect内のsendコマンドの末尾には必ず制御文字\rを付けます。

⚠️ 注意点

FTPは通信が暗号化されないため、重要なデータの転送には推奨されません。