AWSをコマンドラインから扱う方法についていろいろ勉強している。 例えば、ローカルマシン上のファイルやディレクトリをS3にアップロードし、それをEC2インスタンスに転送する方法などコマンドラインで実現できるようになりたい。
ローカルディレクトリのファイルをS3にアップロードする方法について調査したのだが、PythonインタフェースのBoto3ではこれを扱う方法は無いらしい。 その代わりに、AWS CLIを使ってS3にアップロード・ダウンロードすることができる。
#!/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のディスクを同期することができる。