かべぎわブログ

ブログです

2018-06-01から1ヶ月間の記事一覧

インフラ構成管理ツールの各レイヤーについて

インフラ構成管理ツールにおける代表的な役割というか各レイヤーというか、機能をとか役割とかによって以下のように呼び方がちょっと違うらしい。 調子に乗ってオーケストレーションがーー云々などとのたまっていたので戒めの意味を込めてまとめる。 Bootstr…

opensslコマンドでcsrファイルを対話形式ではなく一撃で作成する

概要 opensslコマンドでcsrファイルを作成するときに、通常だと以下のように対話形式でひとつずつ項目を埋めていく必要があります。 Country Name (2 letter code) [GB]: State or Province Name (full name) [Berkshire]: Locality Name (eg, city) [Newbur…

Pythonで約数を取得する

概要 Pythonを利用して自然数の約数を取得してみます。 コード 実行してみる 引数でわたした数字の約数を配列にいれてprintしてくれます。 $ ./yakusuu.py 30 [1, 2, 3, 5, 6, 10, 15] おわりに 数学において、整数 N の約数(やくすう、英: divisor)とは、…

Ansible AWX を Amazon Linux2 にインストールする

Ansible AWX を Amazon Linux2 にインストールしてみたいと思います。 (Docker版でインストールしています) インストール手順 各種パッケージ類のインストール gitのインストール dockerのインストール Ansibleのインストール pip のインストール docker-py…

Pythonのsum関数で配列や集合やタプルの合計を取得する

概要 Pythonのsum関数を利用して配列や集合やタプルの合計を取得してみます。 配列 コード wawawa_array = [1,2,3,4,5] result = sum(wawawa_array) print(result) 実行結果 15 集合 コード wawawa_set = {1,2,3,4,5} result = sum(wawawa_set) print(result…

Pythonで複数パターンを置換する

概要 Pythonを利用して複数パターンを一気に置換してみたいと思います。 コード 「せかいへいわいわい」という謎のワードを置換しています。 ループをつかってwawawa_dictという辞書形式のものにあるワードを置換しています。 実行結果 $ python fukusuu_rep…

改めてLinuxの主要ディレクトリについてまとめてみる

いろいろとわすれがちというかなんというかなのでLinuxのディレクトリ構成についてまとめてみた。 ディストリビューションによってちがうとはおもうんだけれどだいたい以下のような感じなんじゃないか。 Linuxの主要ディレクトリ /bin /sbin /boot /dev /etc…

boto3のclientとresourceのちがい

AWS

概要 boto3におけるclientとresourceのちがいについて雑に調べたのでまとめる。 client 低レベルのサービスアクセスAPI 呼び出すたびにターゲットとなるリソースを明示的に指定する必要がある そのため抽象化するには不向きかも レスポンスがJSON形式 resour…

シェルスクリプトでFizzBuzzをつくる

概要 なんだかんだで一度もやったことがなかったのでシェルスクリプトでFizz Buzzをつくってみました。 スクリプト おわりに ワイン飲みながら所要時間6分くらい なかなかなのでは? [改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでで…

Ansibleのwin_fileでファイルやフォルダを作成/削除する

概要 Ansibleのwin_fileモジュールを利用して、Windows上にファイルやフォルダを作ったり、それを削除してみたいと思います。 ファイルを作成する 以下のようなかんじでファイルを作成することができます。 ファイルが存在しない場合は空ファイルが作成され…

rsyncでサーバ間の同期を鍵認証で行う

概要 rsyncコマンドをつかって鍵認証でログインする2台のサーバの同期をしてみます。 コマンド 鍵認証のサーバ間でrsyncを利用する際は-eオプションのあとに、sshコマンドを記述します。 以下はリモートからローカルに同期をとるときのコマンド $ rsync -av …

haltとかrebootとかはsystemctlのシンボリックリンクだった

概要 haltとかrebootとかpoweroffとかそういう起動/停止/再起動系のコマンドはsystemctlのシンボリックリンクだった。 こんなかんじ $ ls -l `which halt` lrwxrwxrwx 1 root root 16 1月 16 18:45 /usr/sbin/halt -> ../bin/systemctl $ ls -l `which reboo…

systemctlでよくつかうオプションまとめ

概要 なんか意外と忘れがちなsystemctlコマンドのよくつかいそうなオプションをまとめてみる。 概要 サービスの起動 サービスの停止 サービスの再起動 サービスのリロード 自動起動の有効化 自動起動の無効化 自動起動が有効か確認する ユニットがアクティブ…

Lambda(Python)でAMIとそれに紐付いたスナップショットの世代管理をする

概要 Lambda(Python) を利用してAMIとそれに紐付いているスナップショットの世代管理をしてみようと思います。 スクリプト例 ちょっとした説明 タグにauto_backupと書いてあるAMIの世代管理をしてくれます。 上の方の変数generationに指定した数だけAMIを保…

systemdのユニットの種類についてまとめる

概要 systemdのユニットの種類について勉強し直したのでまとめメモ。 そもそもsystemdとは? Linuxの起動システムで、UpstartやSysVinitの代替として開発された。 2014年にRHEL7/CentOS7に採用された。 2015年にDebian/Ubuntuに採用された。 systemdはユニッ…

$RANDOMの精度があまりよくないという話をきいたのでしらべてみる

概要 $RANDOMは乱数としてはそんなに精度が高くないみたいなはなしを聞いたような聞かなかったようなきがしたので雑に調べてみる。 調べ方 echo ${RANDOM}を無限ループでぶん回す 1億行くらいになったら止める ばらつきを集計する 1. echo ${RANDOM}を無限ル…

シェルスクリプト上で乱数を扱う方法まとめ3選

概要 シェルスクリプトを書いていて、乱数が使いたいなーと思ったときにつかえるコマンドをご紹介します。 ${RANDOM}をつかう bashのシェル変数である${RANDOM}を利用します。 この変数は参照されるたびに0~32767の値を返します。 手っ取り早いですが、あま…

Pythonのshutilのcopytreeでファイルを再帰的にコピーする

概要 Pythonのshutilのcopytreeを利用してファイルを再帰的にコピーしてみようと思います。 コード例 shutil.copytree('コピーもと', 'コピーさき') です。 実行してみる forudaBBBがないことを確認 $ ls -l forudaAAA/ forudaBBB/ ls: forudaBBB/ にアクセ…

Pythonのshutilのcopyfileでファイルをコピーする

概要 Pythonのshutilのcopyfileを利用してファイルをコピーしてみようと思います。 コード例 shutil.copyfile('コピーもと', 'コピーさき') です。 実行してみる saki.txtなんてものがないことを確認(moto.txtはある) $ ls -l moto.txt saki.txt ls: saki.…

Pythonのpathlibのmkdir()でディレクトリを作成する

概要 Pythonのpathlibのmkdir()をつかってディレクトリを作成してみます。 コード例 実行してみる ディレクトリができた!!! $ ls -ld /home/ec2-user/tsukuri ls: /home/ec2-user/tsukuri にアクセスできません: No such file or directory $ ./pathlib_m…

Pythonのpathlibで相対パスと絶対パスを取得する

概要 Pythonのpathlibモジュールを利用して、相対パスと絶対パスを取得してみたいと思います。 コード例 実行してみる こんなかんじで相対パスと絶対パスが出力されていることがわかります。 $ ./blog_python/path.py blog_python/path.py /home/ec2-user/bl…