コピペコードで快適生活

明日使えるソースを自分のために

chefのsearch

コマンドでsearch # dbを名前に含むnodeを検索する bundle exec knife search node "name:*db*" recipe内でsearch # nameがserver01のnode情報を取得 info = search(:node, 'name:server01') node以外にもclient、DATA_BAG_NAME、environment、roleから検索…

Linuxグループ

/etc/group cat /etc/group root:x:0:root ... my_group:x:501:user01,user02 my_group: グループ名 x: シャドウパスワードを使用 501: グループID(GID) user01,user02: セカンダリグループとして所属しているユーザーアカウントのリスト。カンマ区切り。 プ…

sudoers

sudoersはユーザにどんなsudo権限があるかを決定する。 設定ファイル # /etc/sudoers # /etc/sudoers.d/* # 誰が どのホストで=(誰として) 何をできる # rootユーザは、誰にでもなれて、なんでもできる root ALL=(ALL:ALL) ALL # wheelグループは、誰にでも…

仮想IPの設定メモ

# eth0に仮想IPアドレス(192.168.1.200)を割り当てる # ifconfigによる変更はサーバ再起動で無効化。 sudo ifconfig eth0:0 192.168.1.200 netmask 255.255.255.0 up # 仮想IPアドレスの割当を無効化 sudo ifconfig eth0:0 down # arpリクエストを投げて、同…

トラブルシュート時に使うコマンドメモ

カーネルのパラメータ確認 すべてのパラメータ(-a)から、パターンマッチしたものを表示 sysctl -a --pattern *** インターフェース設定ファイル(CentOSのみ) cat etc/sysconfig/network-scripts/ifcfg-eth0 # 修正後にrestartで反映 systemctl restart netwo…

consulことはじめ

全然わかってなかったのでメモ。 概要 何やってくれるの サービスディスカバリやってくれる ヘルスチェック等 リーダーについて クラスタとして動作するためにリーダーが必要。 リーダーはサーバモードとして立ち上げているノードから自動選出される。 非サ…

ncコマンド

# TCP 11111ポートでLISTENする nc -kl 11111 # TCP 11111ポートにつなぐ # 起動後に文字をうつと、LISTENしている側に表示される nc localhost 11111

zipコマンドメモ

随時追加していく。 # ディレクトリを圧縮する zip -r FILENAME.zip FILE_DIR # 解凍する unzip FILENAME.zip # xxx.mdだけ解凍する unzip FILENAME.zip FILE_DIR/xxx.md # 解凍結果を標準出力する unzip -p FILENAME.zip FILE_DIR/xxx.md

GithubActionsの設定

忘れる自信があるので、ymlの書き方をメモしておく。 # ファイルパス: .github/workflows/xxx.yml name: CI on: push: branches: master # masterブランチへのpush,merge時に発火 pull_request: # PR作成,更新時に発火 jobs: test: # 実行するJOBの識別子 na…

chefでencrypted data bagsを使うメモ

作る .chef/knife.rbに追加 knife[:editor] = "/usr/bin/vim" bundle exec knife data bag create users app_user --secret-file .chef/secret_data_bag_key --local # で editorが開くので編集して保存する。 # で、自動で暗号化されたjsonファイルが生成さ…

Kubernetes覚え書き

Kubernetes チュートリアル で雰囲気を掴むメモ。 概念 kubernetesCluster 構成 Master クラスターの管理をする Node ワーカーマシン(物理サーバorVM) マスターが公開しているKubernetes APIを使用してマスターと通信 内部でコンテナを動かすためのコンテナ…

Postfix運用メモ

# メールキューの確認 postqueue -p # メールキューを全て再送信 postfix flush メール送信側に逆引き設定しないと弾かれるケースが有る

DNS関連メモ

DNS

リンク集 Flush Cache Query - Public DNS DNSSEC Analyzer 逆引き # 逆引きオプション dig -x 192.0.0.1 # PTRレコード引き dig 1.0.0.192.in-addr.arpa PTR ## publicDNSから、問い合わせ順ごとに表示する dig -x 192.0.0.1 @8.8.8.8 +trace PTRレコード(…

swap領域の作成

やったことなかったので、やり方をメモしておく。 メモリ不足でやばいときの応急処置の1つとして使えるように。 確認 $ free -h total used free shared buff/cache available Mem: 7.6G 2.3G 163M 472M 5.2G 4.5G Swap: 0B 0B 0B ファイルの準備 sudo mkdi…

GoogleAnalyticsメモ

ユーザ https://support.google.com/analytics/answer/2992042?hl=ja ユーザとは、Analyticsからcookieに振られたUserIDで判別される。 つまりブラウザが変われば別ユーザとカウントされる。 セッション https://support.google.com/analytics/answer/273156…

BigQueryのクエリ料金メモ

BigQueryのクエリ課金にビビっていたので、課金ルールを確認した。 テーブルスキャンした対象の列のデータ量に応じて課金される SELECT * やると全列分に課金されるので、必要な分だけに絞る。 インデックスはないのでフルスキャン whereに何書いてもフルス…

ChefZero覚え書き

はじめてChefZeroのコード読むことになったので、調べたこと覚え書き。 インストール ここからDL https://downloads.chef.io/products/chefdk knife-zeroインストール chef gem install knife-zero --no-document node # 対象サーバのリストを出力する knife…

Terraform覚え書き

滅多に使わなくて忘れると思ったので。 terraform install tfenvでバージョン切り替えできる コマンド # 必要となるpluginをインストールする。 terraform init # 設定ファイルが正しいかチェック/本番環境との差分出力 terraform plan # チェックの通った設…

ctagsメモ

vim

インストール # メンテが止まっている # exuberant-ctags brew install ctags # こっちを使う # universal-ctags brew install --HEAD universal-ctags/universal-ctags/universal-ctags 設定 # ~/.ctags --append=yes --recurse=yes --php-kinds=cfd --ruby…

SSL通信が成立するまで

SSL通信に関して理解が微妙だったのに雑にメモ。 SSL通信が成立するまで 秘密鍵は複合鍵 公開鍵は暗号鍵 クライアントは共通鍵を作る。 サーバの公開鍵で暗号化して共通鍵を受け渡す。 その後の通信を共通鍵で暗号化して行う。 link https://ssl.sakura.ad.j…

サーバのスペックをコマンドで確認する

現状のサーバのスペックを確認する必要があったので。 論理的なプロセッサ数を確認する 以下の場合は2個となる。 $ cat /proc/cpuinfo | grep processor processor : 0 processor : 1 物理的なプロセッサ数を確認する 以下の場合は、idが2つあるため2個 $ ca…

MySQL予習メモ (2020年12月版)

MySQLとしばらく密にお付き合いすることになりそうなので、色々と予習したことメモ。 InnoDBのバッファプール 取得処理では、バッファプールにデータがあればそれ返す。なければ、テーブルスペースから取得してプールして、それを返す。 更新系では、プール…

Rails+RspecでActionMailerのテスト

Rsils+RspecでActionMailerのテストの書き方知らなかったのでメモ。 ## 設定 config.action_mailer.delivery_method = :test ## テスト expect(ActionMailer::Base.deliveries.size).to eq(1) # メールを送った件数 expect(ActionMailer::Base.deliveries.fi…

ポート番号の使用状態を確認する

【lsof】オープンしているファイルを一覧表示する # オープンしているファイル情報 $ lsof | grep -e COMMAND -e sample.txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vim 35093 kinosuke01 3u REG 1,7 4096 4183268 /Users/kinosuke01/Desktop/…

docker-composeでdocker内にログインする

ずっとdockerコマンドでやってたので。 ## サービス一覧を表示 docker-compose ps --service ## サービス名を指定してログイン docker-compose exec #{service_name} /bin/bash ついでに # リスタートする docker-compose restart #{service_name}

MySQLの運用で使うコマンドメモ

忘れていたので逐次メモしていく。 ## テーブル定義の確認 show create table #{table_name}; ## インデックスの確認 show index from #{table_name}; ## 発行されているSQLのリスト show processlist; ## 発行中のSQLを強制終了 KILL #{processlist_id}; ##…

Specified key was too long; max key length is 1024 bytes

Rails×MySQL環境下でindex作成時にエラーしてmigrateが止まった。 indexの最大幅を超えてたみたい。 Specified key was too long; max key length is 1024 bytes migrationファイルを修正して対応した。以下メモ。 VARCHAR(255) https://dev.mysql.com/doc/r…

MySQLのロックについてメモ

PostgreSQLばっかり使ってて、 MySQLのロックについて理解があやふやだったのでメモしておく。 ストレージエンジン MyISAM トランザクション使えない 5.4以前のデフォルト 更新SQL発行時はテーブルレベルロック(排他ロック)がかかる。 link https://dev.mysq…

RailsEngineを作る手順メモ

RailsEngineを作る手順を雑にメモする。 Docker/Rspecを使う前提。 docker設定 Dockerfile FROM ruby:2.6.6 ENV NODE_VERSION 10.12.0 ENV BUNDLER_VERSION 1.17.3 ENV LANG C.UTF-8 # https://stackoverflow.com/questions/55361762/apt-get-update-fails-w…

Rspecでcontrollerのテスト

controllerのテストをまともに書いたことなかったので。 describe TestController, type: :controller do let(:account) { create(:account) } describe 'auth' do context '有効なトークンを渡したとき' do before do token = TokenService.build_token(acc…