男士-非常感谢所有帮助。在某种程度上,您的所有建议都帮助我达到了最终结果。因此,我已将所有答复归功于您,但在下方发布了我自己的答案,希望它对其他人有用。我意识到通常这并不是一件好事,但在这种情况下,有很多领域可以形成解决方案,因此我将其全部捆绑在下面。
安装使用AWS S3所需的服务
# > sudo apt-get install python-pip
# > sudo pip install awscli
使用您自己的Amazon帐户注册AWS S3服务:https : //aws.amazon.com/s3/
通过“访问密钥->创建新的访问密钥”为您的用户帐户定义新的访问密钥,并在提示时下载CSV文件。如果您不这样做,将无法使用命令行S3函数:https : //console.aws.amazon.com/iam/home?#security_credential
打开ROOTKEY.CSV文件并复制,然后在启动“ aws configure”时提示时粘贴包含的AccessKeyID值和SecretKey值,该配置文件是在将AWS与Linux结合使用之前从命令行启动的。
> aws configure
Enter your access key and secret key when asked. You can leave the third and fourth empty or as 'None'.
测试您是否可以连接并上传带有sample.txt文件的文件:
> aws s3 mv ~/SourceFolder/sample.txt s3://NameOfYourAWSS3Bucket
/ AFolderYouHaveCreated
按照此处的构建说明下载并安装mjpg_streamer:https : //github.com/jacksonliam/mjpg-streamer#building--安装
完成后,导航至其文件夹
> cd mjpg_streamer
启动mjpg流光:
> mjpg_streamer -i "./input_uvc.so -f 15 -r 1280x960" -o "./output_http.so -w ./www"
通过访问Web浏览器中的以下链接来检查其是否正在运行:
http://127.0.0.1:8080/stream.html
使用以下命令获取一个带有日期和时间戳的文件(并将其保存到执行该文件的本地目录中):
> wget http://127.0.0.1:8080/?action=snapshot -O output-$(date +"%Y-%m-%d-%k-%M-%S").jpg
如果在2016年9月1日22:35执行,则会在mjpeg_streamer文件夹的'www'子文件夹中创建一个文件,称为'output-16-09-01-22-35-30.jpg'。
创建一个新的bash脚本(例如MyScript.sh)并为其赋予可执行权限,并将底部的内容复制到其中。运行时,它将每5秒创建一个带时间戳的JPEG,直到当前日期变为指定的结束日期为止。在这种情况下,它从日期A开始,到日期B结束。替换您自己的日期。
将其复制到脚本中,替换相关路径:
#!/bin/bash
SOURCE="/home/YourUser/YourSourceFolder"
DESTINATION="s3://YourS3Bucket/DestinationFolder"
input_start=2016-8-29
input_end=2016-9-9
startdate=$(date -I -d "$input_start") || exit -1
enddate=$(date -I -d "$input_end") || exit -1
d="$startdate"
while [ "$d" != "$enddate" ]; do
sleep 5
wget "http://127.0.0.1:8080/?action=snapshot" -O output-$(date +"%Y-%m-%d-%k-%M-%S")'.jpg';
aws s3 mv $SOURCE $DESTINATION --recursive;
done
欢迎提出改进建议。
此外,您还可以通过以下方法检查AWS S3中的存储进度
aws s3 ls s3://yourbucketname --recursive --human-readable --summarize
我将其放置两个小时,每10秒触发一次,它产生了74Mb的上传内容。因此,我将一周的工作时间定为6.5 Gb,这比成本上升的服务的定价层还低,我认为是8 Gb。
再次感谢。