Bash 用于 FTP 文件从 Raspberry Pi 传输到 Amazon S3 的脚本

Bash script for FTP file transfer from Raspberry Pi to Amazon S3

我正在尝试使用 bash 脚本 "connect_ftp_amazon" 将 .bin 文件从我的 Raspberry Pi 2 传输到 Amazon S3 服务器,如下所示:

#!/bin/bash

HOST='XX.XXX.XXX.XXX'
USER='my_user'
PASSWD='my_password'
DIR='/s3_folder'
LOCALPATH='/raspberrypi_folder'

ftp -inv $HOST <<EOF
quote USER $USER
quote PASS $PASSWD
cd $DIR
lcd $LOCALPATH
mput *.bin
quit
exit;
EOF

但是,当我尝试在终端 window 和

中执行它时
chmod a+x connect_ftp_amazon
sudo ./connect_ftp_amazon

我得到了

ftp: connect: Connection timed out
Not connected.
Not connected.
Not connected.
Local directory now /home/pi/raspberrypi_folder
Not connected.

我想我以错误的格式传递了我的主机 and/or 用户参数,因为它在 Linux 服务器上工作正常。有人可以帮我确定我的设置有什么问题吗?

您无法使用 FTP 连接到 Amazon S3。您必须使用 S3 协议。

使用 aws s3s3cmd 命令。

参见Uploading files to S3 account from Linux command line


尽管您可以将 S3 存储桶安装到 (Linux) 服务器并在那里设置 FTP/SFTP 服务器。参见 FTP/SFTP access to an Amazon S3 Bucket