先ほど、AWSでのPublicIP一覧取得について記述したので、今度はAzure。
Azureでは管理ツールが2つ(Windowsで用いるPowerShellと、UNIX系OSで用いるAzureCLI)あるのだけど、そのどちらでもPublicに関しては取得可能だ。
PowerShell
Get-AzureRmPublicIpAddress | Select-Object Name,IpAddress
先ほど、AWSでのPublicIP一覧取得について記述したので、今度はAzure。
Azureでは管理ツールが2つ(Windowsで用いるPowerShellと、UNIX系OSで用いるAzureCLI)あるのだけど、そのどちらでもPublicに関しては取得可能だ。
Get-AzureRmPublicIpAddress | Select-Object Name,IpAddress
転職先ではAWSとAzureを使用しているのだけど、結構VM(仮想マシン)とPublicIP(グローバルIP)、PrivateIPの紐付けを忘れてしまう事が多い。
で、いちいちWEBでアクセスして・・・とかやりたくないし、将来的には定期的にCSVとかで一覧を生成させて整形、あとはそれ見ればいいようにしたいので、Macからawsコマンドでその辺りの情報を取得させるようにした。
aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | {InstanceName: (.Tags[] | select(.Key=="Na...
転職先で使うクライアントがMacになることから、ターミナルエミュレーターがTeratermからiTerm2に変更になる。
なので、ここのところiTerm2を自宅でいじくっていたのだけど、その際に「とりあえずこの辺だけ押さえとかないとなあ」と思った箇所が幾つかあったので、そのあたりをまとめてみることにした。
iTerm2では、Teraterm等と同様にターミナルログを自動取得させることもできる(ログ名は固定)。
設定方法は簡単。デフォルトで使用するプロファイルの設定画面で「Profiles」の「Session」を開いて、”Miscellaneou...
iTerm2について引き続き。
Teratermのブロードキャストコマンドと同じく、iTerm2でもすべてのタブに同様の処理を行う(ブロードキャストする)ことができる。
対象のiTerm2のウィンドウで、「Command + Shift + i」キーを押下すると、以下のような注意ウィンドウが表示され、それ以降の処理はすべてのタブで適用されるようになる。
なお、ブロードキャストを終了する場合は再度「Command...
iTerm2についてばかり書いてるけど、一応この辺も残しておこう。
iTerm2では、ターミナル起動時に自動的に特定のコマンドを実行させることもできるようだ。
引き続き、またもiTerm2について。
iTerm2では、基本的に新しいセッションを開く際はタブ(もしくはウィンドウごと別に開く)で開くことが多いのだが、どうやら画面を分割することができるみたいだ。
分割表示したいタブで、「Command + D」キーを押下すると横に、「Command + Shift + D」キーを押下すると縦にウィンドウが分割される。
分割した各タブへの切り替え...
転職先で使用するクライアントがMacになったので、必然的に使うターミナルエミュレーターもWindows用のTeratermからMac用のiTerm2に切り替わる事になった。
で、今まで自宅だとOS Xの場合はUNIXなのでscriptコマンドとtailを組み合わせる等してたのだけど、いい機会なのでiTerm2のログ機能も使ってみる事にした。
iTerm2では、ログ取得を開始する場合は上部メニューから「Shell」>「Log」>「Start」を選択していくことで、ログの保存先PATHやログ名等を指定し、ログを記録していく。
…のだけど、ものぐさかつ忘れっぽいので、こんなん確実に...
今後、仕事でiTerm2を使っていくにあたって色々調べてみたところ、iTerm2には現在開いているターミナルの過去の状態を確認することができる機能「インスタンスリプレイ」なるものがあることを知った。
使い方は簡単。過去の状態を確認したいターミナルで、「Command + Alt + B」キーを押下すると、ターミナルウィンドウ下にバーが表示されるので、表示したい過去時点の時間を選択すれば良い。
pythonのpexpectを使っていて、ターミナルのサイズがおかしくなっていることに気づいたのでその備忘。
どうやらpexpcetでは、指定が無いとターミナルのサイズを「24,80」にしてしまうようだ(迷惑な…)。
で、これだとちょっと困るので、以下の例のようにcursesで現在のターミナルサイズを取得させて、pexpectのsetwinsizeでターミナルウィンドウのサイズを修正させることにした。
#! /usr/bin/python
# -*- coding: utf-8 -*-
import pexpect
import os
import curses
# ターミナル...
シェルスクリプトを作る上で、以外と便利なのがsetコマンド。
オプションごとに関連性が薄いので覚えにくいのだが、使いこなせれば結構役に立つ事が多いコマンドだ。
今回は、そんなsetコマンドで覚えておきたい使い方についてを紹介する。
setコマンドは、引数無しで実行すると現在設定されている変数の一覧を表示させることが出来る。
set
[root@test-centos7 ~]# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extqu...
先日、Azure上のLinuxサーバがssh接続できず、そもそもOSが上がっているのかどうなのかわからない、という事があった。
AWSしかり、Azureしかり、こういったクラウドサービスの場合だと仮想マシンのコンソールに接続できず、こういった事が発生すると非常に困る事になる。
で、こういったOSが起動しているのかどうかもわからない状態の場合、基本的にはOSの起動ログを取得して起動していないのか、起動中なのか切り分けを行ったり、もし起動していない場合は対象の仮想マシンのHDDイメージを取得して手元で仮想マシン作って確認したり…といった対応が必要になってくるようだ(後はサポートかな?)。
A...
dateコマンドでは、「-d」で○○日後とか、□月後といった指定で日付を取得することが出来る。
しかし、特定の日付を指定した上で○○日後の日付を指定する事が出来ない。
もしdateコマンドで特定の日付の○○日後、次の○曜日といった指定をする場合、今回紹介する『libfaketime』を用いると便利だろう。
これは、dateコマンドが読み込む現在日時を変数「FAKETIME」とすることで、システム時刻に変更を加える事なく特定の日付をdateコマンドで出力させることが出来る。
まずはインストール。
以下コマンドを実行し、コンパイル・インストールを行う。
gi...