Category "Backend"を表示しています。
2020.11.25 水
横に分割 [command] + [D] 縦に分割 [command] + [shift] + [D]
2020.11.2 月
Googleの仕様がころころ変わるので2020-11-02現在のやり方の覚書になります。 まずGoogleアナリティクスを利用したいGoogleアカウントでログインしておきます。(通常はGmailアカウントとか、Gsuiteのアカウントとかになります。) 申し込み – アカウントとプロパティーの作成 – Googleアナリティクスにアクセスします。 Google アナリティクスへようこそ 青いボタンの「無料で設定」をクリックして進みます。 アカウント名(必須)に適当なアカウント名を入力します。Googleアナリティクスのアカウント名になります。(このアカウントには複数の計測タグを発行させることができます。)その他の項目はそのままの状態(チェックの入った状態)でOKです...
2020.10.27 火
Oracleは最初から最後まで手のかかる代物でうんざりです。 sqlplusで実行したSQLの結果をファイルに書き出す方法です。結果としてspoolは出力した内容の加工ができないので、正直使い勝手がよくないので「spool/spool off」は使わない方が無難。しかしただSQLの内容をドバっと吐き出すだけだったら有用。 プロセス数とセッション数を1分おきに書き出す方法です。 SQLでいうとこんな感じになります。 SELECT RESOURCE_NAME,CURRENT_UTILIZATION FROM V$RESOURCE_LIMIT WHERE RESOURCE_NAME = 'processes' OR RESOURCE_NAME = 'sessions'; 結果は、 RESOURCE...
2020.10.27 火
$ free -h total used free shared buff/cache available Mem: 117G 71G 5.2G 3.7G 40G 40G Swap: 15G 346M 15G freeコマンドの中身 total: 合計メモリ量 used: メモリ使用量(実際にプロセスで使用されているメモリ量) free: 全く使われていない未割り当てのメモリ量 shared: 共有メモリで使用しているメモリ量 buff/cache: ファイルバッファ+キャッシュメモリに使われているメモリ量 available: プロセスが利用できるメモリ量 totalがOSが積んでいる物理メモリ量になります。 buff/cacheがいわゆる現在利用されているメモリ量と解釈してよさそうです。...
2020.10.27 火
踏み台サーバー host: 123.xxx.xxx.xxx user: user sshkey: /MYPATH/SSHKEY.pem port: 2222 アクセスしたいホスト host: 192.168.0.3:22 user: user2 sshkey: /MYPATH/SSHKEY.pem port: 22 というのがあったら、以下のコマンドでSSHトンネルの掘ります。 ssh -v -N -L localhost:2221:192.168.0.3:22 -i /MYPATH/SSHKEY.pem -p 2222 user@123.xxx.xxx.xxx トンネル掘ったままで、Transmitでログインします。 × Close
2020.10.13 火
ファイル更新日を取得する dateコマンドで更新日を表示(ディレクトリも可) $ date -r FILE_PATH (FILE_NAME) 2020年 10月 13日 火曜日 15:26:01 JST フォーマットを指定して取得(ディレクトリも可) $ date +%Y-%m-%d -r FILE_PATH (FILE_NAME) 2020-10-13 変数に格納する $ update=`date +%Y-%m-%d -r FILE_PATH (FILE_NAME)` ; echo $update 2020-10-13 n日前のファイルを検索 カレントディレクトリのファイル内で120日前より以前のファイルを検索 find ./* -mtime +120 カレントディレクトリのファイル内で1...
2020.10.7 水
$ sudo lsof -i -P | grep "LISTEN" 現在使わているポートが出てきます。 UserEvent 96 root 97u IPv6 0x789aca5fe14da521 0t0 TCP [fe80:4::aede:48ff:fe00:1122]:49153 (LISTEN) rapportd 365 osamuyamakami 4u IPv4 0x789aca5fe8ae5cb1 0t0 TCP *:50864 (LISTEN) com.docke 561 osamuyamakami 80u IPv6 0x789aca5fe6e5c261 0t0 TCP *:3306 (LISTEN) com.docke 561 osamuyamakami 454u IPv6 0x...
2020.10.5 月
イメージから作成したVMインスタンスにネットワーク接続できないゆえにログインできない場合は、シリアルコンソールを有効にしてユーザーログインします。 rootに昇格してから、ネットワークの確認をするとeth0にネットワークが割り当てられていないことがあります。これはKVMなどの別のカスタムイメージから作成すると起こる減少でGCPはカスタムイメージの場合はデフォルトのeth0ではなく二番目のネットワークeth1に自動的に割り振ってしまうようです。当然eth0に割り振られないと動作しない内部IPも設定上消えてしまっています。 # ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/l...
2020.9.30 水
bind9で設定変更した際にリロードする前に設定がちゃんとしているか確認するコマンドです。 named-checkconf 設定ファイル類を修正した際に、リロードの前に実行します。たいていの場合はrootで実行かな。 # named-checkconf 何も表示されなければ設定は正常に行われています。 named-checkzone ゾーンファイルの変更・更新時の確認コマンドです。 # named-checkzone test.example.com /var/named/example.com.zone zone test.example.com/IN: loaded serial 2020033101 OK 現在のシリアルナンバーとOKが出れば正常に設定されています。
2020.8.25 火
curl http://localhost/jkstatus/ -o /dev/null -w '%{http_code}\n' -s
2020.8.24 月
結局ここまでくる羽目になってしまったという感じがしなくもないです。phpenvやpyenv、nodeenvなど様々なバージョン管理(Gitの意味ではなく)をしなくてはならない言語をバラバラに管理していたのですが、結局anyenvを入れて、それぞれにenvを管理するという方が断然バグが少ないという感じです。 anyenvのインストール homebrewからインストールできます。 $ brew install anyenv $ cd ~ $ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile (ターミナルの再起動した方がいいかも) $ anyenv --version anyenv 1....
2020.7.2 木
PC内部のDNSキャッシュを削除する sudo killall -HUP mDNSResponder ChromeのDNSキャッシュを削除する chrome://net-internals/#dnsにアクセスしてclear host cacheボタンを押します。
2020.3.14 土
リモートホストからアクセスする redis-cli -h #{ホスト名} -p #{ポート番号} -n #{DB番号}
2020.3.4 水
障害時っていうのは「まずは原因がわからない」っていうところが起点になるので、そこからはじめます。たいていの場合、運用者・管理者はだいたいの予想がつくということもあるのだけど、それでも「何もわからない」というのを起点にした方がいいです。障害は何かしらの機能不全ということだと思うので、その機能不全の原因を探ります。 目に見える機能不全とある条件下のみで発生する機能不全もあるので一概には言えませんが、いろいろな角度から探りを入れます。コンピューターの嫌なところは全体を俯瞰できないというところで結局は細々と自分で具y帯的なところを洗い出して最終的に(総合的に)俯瞰図を頭の中で作成してそれを見ながら判断するということになります。 基本的な確認(HDDストレージの容量・メモリ・CPUロードアベレージ) ...
2020.3.4 水
KVMのイメージなどからVMインスタンスを立ち上げた際にeth1やeth2に割り振られてしまうときがあります。イメージが元々あったデータセンターでのNICが残ってしまっていて、新しいNICに新しいVMインスタンスが割り当てられてしまうようです。ip aで見てみてると何故かeth2に割り当てられている。 $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet 192.168.60.20/32 brd 192.16...
2020.3.1 日
GCPのVMインスタンスは恒久的に25番ポートの利用ができない上に自身のVMで「注: ポート 25 は常にブロックされており、G Suite を使用した SMTP リレーを介したとしても利用できません。」となっております。AWSは申請制度でユーザーの審査が通れば25ポートを使うことができますがGCPは無理っぽい。 インスタンスからのメールの送信 じゃ、どうすればいいかというと、外部のSMTPサーバーにサブミッションポート587で送信を委譲するかたちにしないといけないということで結構面倒です。 ここではGmailアカウントでSMTPサーバーを使えるように設定してから、postfixの設定したVMインスタンスでGmailのSMTPを使って送信できるように設定します。 GoogleアカウントでSM...
2020.3.1 日
まずそもそもtcpdumpのコマンドがインストールされていないことが多いので、使えない場合はインストールから。 # which tcpdump /usr/bin/which: no tcpdump in (/sbin:/bin:/usr/sbin:/usr/bin) yum -y install tcpdump インストールできたら、とりあえず、 tcpdump とやってみます。目まぐるしいアクセスでバーっとログが出てくるんですが、これがtcpの通信をdumpしている状態です。この状態は量が多すぎて何もわからないので、ある程度フィルタリングしたりして使うのが普通です。 - インターフェイスを選ぶ - ホストを限定する ### インターフェイスを選ぶ `ip a`などでネットワークのインターフ...
2020.3.1 日
Linuxマシン自身がメモリ不足でシステムがダウンする事態になると、メモリ不足を検知してメモリを消費しているプロセスを強制的に停止してLinuxマシン自体の存続を試みようとします。Linuxマシンが倒れるよりも個々のプロセスが倒れた方がシステムとしてはまだマシという考え方がコンセプトになっているようです。 謎にDNSサーバーが落ちる自体が数回あって、いろいろ調べてみました。 # systemctl status named-chroot -- 中略 -- Active: failed (Result: exit-code) since 日 2020-03-01 02:13:59 JST; 11h ago -- 中略 -- Process: 7389 ExecStart=/usr/sbin/n...
2020.2.28 金
普通に使う場合はこれ。 $ dig example.com そのマシンのネットワークに設定されているDNSを使って名前解決します。通常は外にforwardされている感じになります。社内などの閉じられた環境では、社内のDNSを引いて、そこで解決できなければforwardするみたいな設定になっているはずです。 名前解決するホストを明示的にする際は、@hostを使います。 $ dig example.com @192.168.2.5 詳しくデバックするとき $ dig +trace example.com @host かなり詳しい名前解決ができます。ローカルとグローバルで違うAレコードを持っている場合でも両方の名前解決を出力します。
2020.2.24 月
zsh: command not found: brew おーそういうことですか。 zshはbrewがデフォルトで使えなくなっているようです。というかそもそもインストールしていない場合は、これ。(そもそもインストールしてなかった!) /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 途中でrootのパスワードを求められるので入力。滞りなく終了します。 Macの開発環境をzshで良い感じにする
2020.2.22 土
LAN内でしか動かないWEBシステムを見るときには非常に便利。VPNなどが最も楽であるのは事実なのですが設備を導入すること自体が非常に敷居が高いし設定するまで手間がかかるので、SSHさえ接続できれば踏み台サーバーから中に入ってブラウザーで見ることができるっつうやつです。まずは踏み台サーバーがすでにあることを前提としているので踏み台サーバーにアクセスできるところから始めます。 正確にいうとPort Forwardとか言うのだけど、このあたりの説明は他のサイトでも図解で詳しく説明してくれているので割愛。 コマンドラインで行う場合は、 $ ssh -v -N -L localhost:8888:192.168.0.3:80 -i /SSHKEY/ -p 1206 user@123.456.789....
2020.2.18 火
GCPのVMインスタンスの多段認証で、 $ ssh foobar channel 0: open failed: connect failed: Connection refused stdio forwarding failed ssh_exchange_identification: Connection closed by remote host というエラーが出るときがある。いろいろ解決方法があるのだけど、GCPのVMインスタンスの場合、しばらく待っていると治っていることがある。いや、しばらく放っておくとほとんど場合治る。
2020.2.13 木
ログレベルを3以上にしていると、大量にログが出るのでローテートしてないとダメ。 /var/log/samba/log.%m すごい量になってる。 /etc/smb.conf (/usr/local/samba/etc/smb.conf) とかあたりにconfigファイルがあるので、それを修正。log level = 3をlog level = 2以下に修正します。 # --------------------------- Logging Options ----------------------------- log level = 2 log file = /var/log/samba/log.%m max log size = 5000
2020.2.12 水
ディスクの追加をしたあとにコマンドラインでマウントしないと使えません。 ゾーン永続ディスクの追加またはサイズ変更 コンソールまたはgcloudコマンドでディスクを追加した後に、該当VMインスタンスにログインしてrootユーザーにて以下のコマンドで、ディスクが正しく作られているか確認します。 # sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 500G 0 disk ←これ /devの中にもいるので確認しておくとよいです。 # ls -al /dev ... brw-rw----. 1 root disk 8, 0 12月 2...
2020.1.27 月
現在のジョブを確認。何もない $ jobs -l 一度普通にSCPを実行する。 $ scp -p -P 22 /foo/bar.txt user@xxx.xxx.xxx.xxx:/tmp/foo/bar.txt [commnad]+[Z]でいったん止める。するとjob番号が出てくるので、 $ [1]+ Stopped scp -p -P 22 /foo/bar.txt user@xxx.xxx.xxx.xxx:/tmp/foo/bar.txt そのジョブ番号で、バックグラウンド実行を登録します。 $ bg 1 [1]+ scp -p -P 22 /foo/bar.txt user@xxx.xxx.xxx.xxx:/tmp/foo/bar.txt & 登録すると、バックグラウンドの実行...
2020.1.24 金
このエラーが出たのは、Linux系の適当なサーバーからrsyncでCloud Strageにダウンロードした際におきたものです。 rsync: close failed on "/home/hoge/.00008101_1.jpg.4kABMr": Input/output error (5) rsync error: error in file IO (code 11) at receiver.c(859) [receiver=3.1.2] rsyncのエラーでめずらしいものが出た。バックアップ先のHDDフォーマットはFATじゃない。バックアップ先のストレージが足りなくなったわけではない。 FATフォーマットのHDDは一度に書き込める量が FAT16: 2G FAT32: 4G ということ...
2020.1.1 水
CentOS8がもう出てしましました。いろいろまた変わりました。変わらないところと変わっているところとあって、面倒くさいですね。 Installと初期設定 /etc/skel/の設定 .bash_profileにショートカットを登録する。これがないとすごい不便。/etc/skel/にある雛形に追加しておくと今後新規で追加した際にはこの雛形が反映されます。ちなみにこのディレクトリはユーザーが新規で作成されるたびに反映されるので、全く別のファイルを追加しておくこともできます。 # /etc/skel/.bash_profile # 以下追加
2019.12.23 月
SSHでのscpコマンドの使い方である程度基本的なことを書いたので、その応用編です。 SSHの踏み台(ポートフォワード)を使ってSCPする ssh/scp多段接続〜踏み台サーバを越えて〜
2019.12.11 水
ファイルの数をカウントする(ファイルの数を数える) ./と../、Toatal行が出るので3行抜いた数で計算しないと合わなくなります。 # ls -al ./DIR | wc -l この数からマイナス3をした数がファイル数です。(が、中にディレクトリがある場合は、それも加算されちゃうので、findでやった方がいいかも。)
2019.11.29 金
やること CentOS7でSMTPサーバー構築ではSSLを使っていなかったのですが、今回は無料SSLを使って暗号化したSMTPSサーバーを作ろうと思います。 利用するドメインのSSLを取得する – 無料SSLを取得する Let’s Encrypt Postfixの設定 サブミッションポートの設定 ポートの開放 エイリアスの設定 -SPFの設定 利用するドメインのSSLを取得する 無料SSLのLet’s encryptを取得するには、認証方法としてそのドメインを使ったWEBサーバーを作るのが一番簡単です。まずはじめにexample.comでアクセスできるWEBサーバーを作っておきましょう。 SSLの取得方法は無料SSLを取得する Let’s Encryptを参考にしてく...