検索条件
お知らせ
現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
前のページ
2
3
4
5
6
7
8
9
10
11
次のページ
Env
Ver
Ubuntu
20.04.4 LTS
nginx
1.18.0 (Ubuntu)
MariaDB
15.1 Distrib 10.3.34-MariaDB
grafana-server
Version 9.2.5 (commit: 042e4d216b, branch: HEAD)
Windows側からhttp://grafana.test/
としてアクセスする
DBにはMariaDBを使用
Windows側のhosts
に以下を追記
127.0.0.1 grafana.test
sudo apt update
sudo apt install -y nginx mariadb-server
sudo apt-get install -y apt-transport-https software-properties-common wget
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
cat <<'EOF' | sudo tee /etc/nginx/conf.d/granafa.conf
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream grafana {
server localhost:4000;
}
server {
listen 80;
server_name grafana.test;
access_log /var/log/nginx/grafana.access.log;
error_log /var/log/nginx/grafana.error.log;
location / {
proxy_set_header Host $http_host;
proxy_pass http://grafana;
}
location /api/live/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_pass http://grafana;
}
}
EOF
sudo service nginx start
id
とpw
の部分は適当に変える
sudo service mysql start
sudo mysql
CREATE USER 'id'@'%' IDENTIFIED BY 'pw';
GRANT ALL PRIVILEGES ON *.* TO 'id'@'%' WITH GRANT OPTION;
quit
適当なRDBクライアントから繋げればOK
sudo nano /etc/grafana/grafana.ini
で適当にいじる
# The http port to use
http_port = 4000
# The public facing domain name used to access grafana from a browser
domain = grafana.test
sudo service grafana-server start
http://grafana.test/ へアクセス
IDPW共にadmin
が初期
MariaDBに適当なDBとテーブルを作る
Grafanaにログインする
サイドバーからConfiguration
-> Data sources
DBの情報を入れて接続
後はよしなにやる
配列をループして処理したい時に使える技。複数行ある場合も想定
スペースで区切った文字列を()
で括っておくとfor in
として使える
取り出した要素は${foo}
で拾えます。配列全体は${bar[@]}
で取れる。以下のようにダブルクォートで囲っていると機能しなくなるので注意
("AAA BBB CCC")
#!/bin/bash
textList=(YWFhYWEK LWFhYQogICAtIOOBguOBguOBguOBgg== LWFhYQogICAtIOOBguOBguOBguOBgg==)
for text in "${textList[@]}"
do
echo ${text}
done
YWFhYWEK
LWFhYQogICAtIOOBguOBguOBguOBgg==
LWFhYQogICAtIOOBguOBguOBguOBgg==
Base64辺りでエンコードしておくと扱いが楽
#!/bin/bash
textList=(YWFhYWEK LWFhYQogICAtIOOBguOBguOBguOBgg== LWFhYQogICAtIOOBguOBguOBguOBgg==)
for text in "${textList[@]}"
do
pure=$(echo ${text} | base64 -d)
echo "$pure"
done
aaaaa
-aaa
- ああああ
-aaa
- ああああ
#!/bin/bash
# .と..は除外
# 最後にxargsを入れておくと改行が飛ぶ
results=($(ls -1a | grep -vP "^\.+$" | xargs))
for item in "${results[@]}"
do
echo "$item";
done
IFS変数に区切り文字を設定することで実現する。IFSとはInternal Field Separatorのこと
#!/bin/bash
IFS=$'\n'
text=$(cat <<'EOF'
aa bb
a b c
EOF
)
textList=($(echo "$text"))
for text in "${textList[@]}"
do
echo "${text}"
done
aa bb
a b c
unified形式のパッチファイルの当て方
git diff -u > diff.patch
とかしたやつを当てることを想定している
-p<n>
の<n>
はpatchファイルのパス階層をストリップする役割を持っている
diffファイルに記載されているファイルパスは以下の形式のためa/
, b/
が除去されてパッチが当たる仕組み
--- a/path/to/file
+++ b/path/to/file
cat <<EOF | head -3 | tail -2
a
b
c
d
e
EOF
置換をするためのコマンドだが、PCREは基本使えない(自前でビルドすれば使える)
大抵のケースでPerlを使った方が楽だが、Busybox系のディストリなどで入っていない環境では重宝する。
-l
入力からケツ改行を消す
CLI入力するとケツに改行が入るのでそれを除去できる
-p
入力行を処理する
-e
スクリプトを流せるphp -r
のようなもの
-i[ext]
ファイル置換。extに指定があるとバックアップファイルが生える
sed -i.bak -e 's/aaa/bbb/' path/to/file
コマンド を使う必要がある
入力
cat <<'EOF' | sed ':a;N;$!ba;s/\n/\\n/g'
aaa
bbb
ccc
ddd
EOF
出力
aaa\nbbb\nccc\nddd
コマンドの意味合い
コマンド
意味合い
;
恐らくコマンドの終わり
:
ラベル。今回の:a
はラベルa
N
入力の次の行をパターンスペースに読み込む
$
最終行にマッチ
!
マッチしない(アドレスとコマンドの間に入れる必要がある)
b
ラベルに分岐する。ba
はラベルaに分岐。gotoみたいなもんだと思う
つまり入力の次の行をパターンスペースに読み込み、最終行にマッチしなければ入力の次の行をパターンスペースに読み込み、マッチすればs/\n/\\n/g
が発動するのだと思われる。
前のページ
2
3
4
5
6
7
8
9
10
11
次のページ