set setting reset

脂肪と糖にはたらくやつ

python

宛先ごとに並列でpingする

というものをpythonで作りました。 github.com pacemaker で ping RA というものを使い、スプリットブレイン対策のためにNW監視をしているのですが、 宛先ごとにシーケンシャルに ping を撃つという仕様であることから、対象に増減があると timeout などの調…

S3のクロスアカウント問題をSTS AssumeRole で解決する

背景 例えばアカウントAにある my-bucket という S3 バケットに対して、アカウントBのリソースからオブジェクトをアップロードした時に、 my-bucket に付与されているバケットポリシーが効かずにハマることがあります。 バケットポリシーでIPアドレス制限だ…

boto3 で S3 から指定した prefix のオブジェクトをダウンロードする

というスクリプトを書いたので晒してみます。 gist.github.com $ python download_s3_objects.py --help Usage: download_s3_objects.py [OPTIONS] Options: -p, --profile TEXT -b, --bucket-name TEXT -d, --destination TEXT -P, --prefix TEXT --help Sh…

list を CSV っぽく置換する

python バージョンは >>> sys.version '3.6.2 (default, Oct 5 2017, 11:51:36) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]' です。 やりたいことは l = ['aoba', 'nene', 'hotaru'] といったリストを 'aoba','nene','hotaru' というふう…

boto3 で指定された日付以前の snapshot を削除する

という python script を晒してみます。 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 指定された日付以前の snapshot を削除します ただし ami に紐付いている snapshot は削除しません example: $ python delete_expired_snapshots.py -p profile_n…

argparse をつかってコマンドライン引数をよしなにする

よくつかうのでメモとして残してみます。 argparse とは python の組み込みライブラリで、引数をよしなにしてくれるいい人です。 python 2.7 から追加されました。 15.4. argparse — コマンドラインオプション、引数、サブコマンドのパーサー — Python 2.7.x…

python でディレクトリ配下の最新のファイル名(フルパス)を取得する

前提 最新かどうかはファイルの最終変更日時 = mtime で判定します。 準備 こんな感じでファイルを作成します $ for ((i=0;i>10;i++)); do touch $i.txt; sleep 5; done 最終変更日は以下の様になりました。 9.txt の最終変更日時が最も新しいものになってい…

boto3 で S3 オブジェクトのコピー

boto3 で S3 の操作メモ バケットに接続 import boto3 s3 = boto3.resource('s3') bucket_name = "my-bucket" bucket = s3.Bucket(bucket_name) prefix の文字列で bucket 内のオブジェクトをフィルタ prefix = 'myfolder/original.txt' bucket.objects.filt…

はじめての AWS Lambda python で boto3 から ec2 を起動する

はじめての AWS Lambda で boto3 から ec2 を起動する いまさら感ありありですが表題のことを Management Console からやってみます。 初期画面 bluprint Get Started で進むとたくさんのサンプルから選ぶことができますが、今回は Skip します Configure fu…

redis-py で expire が付与されていない key を削除する

メモリが逼迫してきた redis で、本来存在しないはずの expire が付与されていない key を削除することになったので記録として。 key は session id として使われています。 環境 作業環境 osx 10.10.4 python 2.7.6 サーバ環境 centos6.4 redis 2.6.14 前提…