lsb_releaseコマンド

概要 lsb_releaseというコマンドでOSのバージョンを確認することが出来ます。 オプションによって出力を限定することが出来、シェルスクリプトの判定等に使うことが出来ます。 使い方 lsb_release -aですべてを表示させることが出来ます。表示例 $ lsb_relea…

CentOS7から/var/run以下のpidディレクトリがOS再起動の度に削除される

概要 FreeRadiusサーバーをCentOS7で稼働させていたとき、OS再起動のタイミングでradiusデーモンが起動しないことがありました。FreeRadiusはpidファイルを/var/run/radiusd/tmpに作成するようになっていたのですが、 CentOS7から/var/run以下ディレクトリは…

Linuxサーバー起動時ファイルシステムチェックをスキップ

概要 Linuxサーバーを再起動した場合fsckが自動で走りなかなか起動しないときがあります。 fsckは重要ですが早く起動したいときに困ることがあります。 そんなときに使えるTIPSです。 カーネルパラメータにfastbootを指定 以下のように起動時にgrubのカーネ…

fstabのデバイス指定をUUIDにする

「昔、HDDを挿してる位置からsda、sdbとなんとなくテプラを貼っていた」「sdaが明らかに不調で代替セクタ出てるし、リードエラーリトライを繰り返している」「sdaと書いてあるやつを引っこ抜いてみたら生きてる方のHDD(sdb)だった」↓「やはり、入れ替わる可…

google-betaのエラーが出たときの対処法

概要 いつからのタイミングかTerraformでGCPのリソース管理している環境で以下エラーが出るようになってしまいました。 Error: module : provider alias must be defined by the module: google-beta 対応 以下のようにproviderの設定でgoogle-betaの設定を…

TerraformでGCEの静的内部IPの設定

概要 TerraformでGCPのGCEのローカルIPを固定する設定の例です。 例 内部IPを10.146.0.1に設定している例です。 resource "google_compute_instance" "default" { name = "test" machine_type = "n1-standard-1" zone = "asia-northeast1-a" boot_disk { ini…

hadoopコマンドでHDFSからS3へデータコピー

事前準備 AWSのIAMでS3に書き込み可能なアクセスキーとシークレットキーを発行しておいてください。 概要 hadoopコマンドでHDFSからAWSのS3へデータコピーする例です。コマンド例のディレクトリ名などは以下のようになっていますので読み替えてください。 HD…

Ciscoスイッチのポートミラーリング設定

概要 Cisciスイッチでポートミラーリングを行い、パケットキャプチャを行った際にメモです。空いているmonitorのsession番号を指定してミラーリングの設定を行います。 monitorの設定の確認 まずsession番号1がすでに使われていないか確認します。 以下コマ…

Redisのslave-read-only設定の挙動

概要 Redisのレプリケーション設定にslave-read-only設定がある。 デフォルトはyesになっていてslaveにデータは書き込めないようになっている。 設定をnoにするとslaveにデータが書き込めるようになるがそのデータはそのslaveサーバーにしか存在しない状態に…

ブログ楽しいですよ

はじめに この記事はwrite-blog-every-week Advent Calendar 2018 16日目の記事です。私が常日頃ブログについて考えていることなどを書いてみたいと思います。 ブログを書くようになったきっかけ ブログを書き始めたきっかけは技術的に困ってググったときに…

TerraformでGCSのライフサイクル設定

概要 GCPのGCS(ストレージ)でライフサイクルをTerraformで設定する例です。 例 バケット内のオブジェクトが365日経過後に自動削除されるよう設定しています。 resource "google_storage_bucket" "image-store" { name = "image-store-bucket" location = "as…

UbuntuでOS再起動後もiptablesの設定を有効化させる方法

概要 UbuntuでOS再起動後iptablesの情報が読み込まれずハマった。 インストール apt-get install iptables-persistentこのパッケージを入れると設定ファイルに書き出してくれる。依存関係で netfilter-persistent パッケージがインストールされる。 /etc/ipt…

rsyncの時ユーザ名を明示しないと出るエラー

rsyncを行う際にユーザ名を指定しないとエラーが出ることがある。 その際はユーザを指定することでrsyncが実行出来る。 エラー $ rsync -avz example.com:/tmp/ . usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_add…

Gitの設定を仕事用、個人用で分ける

概要 1台のPCで仕事用、個人用それぞれのGitリポジトリに接続する場合、 git configの設定を都度行うのは面倒です。そこで~/.gitconfigにディレクトリ毎に仕事用、個人用の設定を行うことで、 ~/work/以下にcloneしたリポジトリなら仕事用の設定 ~/personal/…

Macのhosts切り替えアプリ『Gas Mask』

Mac

概要 Macで/etc/hostsを書き換えて開発環境をブラウザで開くことが多々あります。 毎回Vimなどで書き換えるのが面倒だなと思っていたところGasMaskという便利なソフトウェアがありました。事前にhostsファイルを登録しておくと数クリックでhostsを切り替える…

UbuntuでIPMIのアドレスを確認する手順

概要 OSのコマンドでIPMIのアドレスを確認する手順です。 IPMIアドレスが不明の場合でもOSが起動している状態のままIPMIのアドレスを確認することが出来ます。 準備 インストール ipmiコマンドを使えるようにパッケージをインストールします。 apt-get updat…

シェルスクリプトでのインクリメント

#!/usr/bin/env bash COUNT=1 while : do echo $((COUNT++)) sleep 1 done; COUNT=0 にすると 0 1 2 3となるため、 =1 にしておく。

Jenkinsで特定の文字が含まれているジョブを検索

Jenkinsのジョブで特定の文字が入っているものを検索したい時がある。例えば docker コマンドを使っているジョブを検索する場合、 Jenkinsサーバーで以下コマンドで検索出来る。 find /var/lib/jenkins/jobs/ -maxdepth 2 type f -name config.xml | sed 's/…

CLIでGistにファイルをアップロード

概要 GitHubのスニペットサービスのGistにターミナルからアップロードする手順です。 インストール brew install gist 初期設定 gist --login以下のようにログインプロンプトが出ますのでログインします。 $ gist --login Obtaining OAuth2 access_token fro…

GitHub Issueリーダーの『Jasper』が超絶便利

Jasper jasperapp.io 概要 最近GitHub Issueベースで業務を行っています。 複数のリポジトリで各リポジトリ毎にIssueが立てられるのでブラウザだけでは大変見づらい状況になってきました。 メールで通知やSlackへ通知を飛ばしたりでなんとかやりくりしていた…

/usr/lib/systemd/system/と/etc/systemd/system/

概要 /usr/lib/systemd/system/ ※CentOSの場合 /lib/systemd/system/ ※Ubuntuの場合 と /etc/systemd/system/ のUnit設定ファイルは同名ファイルがある場合 /etc/systemd/system/が優先される。 使い分け デーモンの起動オプションを変更する場合/usr/lib/sy…

aptのリポジトリ操作

リポジトリファイル保存ディレクトリ /etc/apt/sources.list.d/ apt-key一覧表示 apt-key list リポジトリを削除する場合 apt-keyから該当のキーを削除する。 apt-key listからIDを取得して apt-key del xxxxxで削除可能次に該当リポジトリファイルを削除 /e…

Dockerのmulti-stage builds

業務でAerospikeのPrometheusのexporterを使う機会があり、 そのDockerfileを見てみたところFROMが2個書いてありなんだろうと思っていましたが Docker17.05系からサポートされたmulti-stage buildsという機能でした。asprom/Dockerfile at master · alicebob…

dateコマンドのゼロパディングオプション指定

$ date "+%Y/%m/%d %H:%M" 2018/01/01 00:01上記のようにdateコマンドのオプションでフォーマットを指定して出力が出来るが、 例えば0時や1時などの1桁の場合、00、01とゼロパディング(0埋め)して表示してくれる。 だが0、1とゼロパディングせず表示してほし…

MongoDBパッケージ置き場メモ

Release note Release Notes — MongoDB Manual Ubuntu https://repo.mongodb.org/apt/ubuntu/dists/ CentOS https://repo.mongodb.org/yum/

.ymlなのか.yamlなのか

1. Is there an official extension for YAML files? Please use ".yaml" when possible. 参考:http://yaml.org/faq.html.yamlらしい。

Public DNS

DNS

IPv4 IPv6 運営元 8.8.8.88.8.4.4 2001:4860:4860::88882001:4860:4860::8844 Google 1.1.1.11.0.0.1 2606:4700:4700::11112606:4700:4700::1001 Cloudflare 64.6.64.664.6.65.6 2620:74:1b::1:12620:74:1c::2:2 Verisign 208.67.222.222208.67.220.220 2620…

Ubuntuでsarコマンドを使えるようにする

概要 $ sar Cannot open /var/log/sysstat/sa07: No such file or directory Please check if data collecting is enabled $こういったメッセージが表示されてしまう。 対処法 /etc/default/sysstatを以下のように書き換える。 ENABLED="false"↓ ENABLED="tr…

chef-clientのdry-run

chef-client -Wもしくは chef-client --why-run

PostgreSQLレプリケーションのマスター/スレーブ確認

概要 PostgreSQLでレプリケーションを組んでいるときマスター/スレーブを確認する方法以下のSQLで判断可能 SELECT pg_is_in_recovery(); マスターの場合 postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery ------------------- f (1 row) postgres=…