FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

AWSコマンドラインインタフェースにてS3とデータを同期する方法

f:id:msyksphinz:20190818215623p:plain

AWSコマンドラインから扱う方法についていろいろ勉強している。 例えば、ローカルマシン上のファイルやディレクトリをS3にアップロードし、それをEC2インスタンスに転送する方法などコマンドラインで実現できるようになりたい。

ローカルディレクトリのファイルをS3にアップロードする方法について調査したのだが、PythonインタフェースのBoto3ではこれを扱う方法は無いらしい。 その代わりに、AWS CLIを使ってS3にアップロード・ダウンロードすることができる。

aws.amazon.com

www.saintsouth.net

#!/bin/bash

target_dirs=('/home/msyksphinz/work/llvm/llvm-myriscvx/' '/home/msyksphinz/work/llvm/myriscvx-tests/' '/home/msyksphinz/work/llvm/build-myriscvx')

for target_dir in ${target_dirs[*]}
do
    echo "Uploading " ${target_dir} " ..."
    aws s3 sync ${target_dir} s3://llvm-bucket/`basename ${target_dir}` --exclude ".git*"
done

aws s3 syncコマンドによりローカルディスクとS3のディスクを同期することができる。