円安で今後は中古スマホの需要が高くなる!?

私的チートシート(2022/9/14up)

目次

その他

2.2.4 Application Serverを新規インストールする(Linuxの場合) : Cosminexus V11 アプリケーションサーバ システム構築・運用ガイド (hitachi.co.jp)

インストール要件でNSS関連パッケージ等を使用

nss-softokn-freebl(i686)

JP1/AJS

24時間制か48時間制かの確認

ajsstatus(Linux:/opt/jp1ajs2/bin/ajsstatus)

AJS開始・終了履歴の出力              すべて出力する
ジョブネット開始・終了履歴の出力        すべて出力する
ジョブ開始・終了履歴の出力              すべて出力する
操作履歴の出力                          すべて出力する
ルートジョブネットのスケジュール        24時間
サスペンド機能                          無効
参照履歴の出力                          すべて出力する
一時変更の操作管理機能                  無効

起動条件を48時間待つ場合の指定

相対時刻の場合⇒起動条件の有効範囲を「相対時刻」にして2879分の間で指定する。24時間制でも使え、絶対時刻のようにMAX2日後の47:59までという制約を受けない

例)上記設定で開始日時を2022/9/15 AM5:00とした場合は2022/9/17 AM4:59までとなる

絶対時刻指定の場合⇒起動条件の有効範囲を「絶対時刻」にして47:59で指定する。MAX2日後の47:59までという制約を受ける。あらかじめJP1/AJSを48時間制にする

例)上記設定で開始日時を2022/9/15 AM5:00とした場合は2022/9/16 23:59までとなる

RTX

show log
show log reverse ⇒ 新規ログから表示
IP Tunnnel Up ⇒ VPNトンネル確立
DDNS Update succeeded DDNS ⇒ ネットボランチDNSサービスOK
PPPoE Connect ⇒ インターネット接続OK

ネットボランチDNSサービスとは、ヤマハが提供するDDNS(Dynamic Domain Name System)サービス
ネットボランチDNSサーバーに、グローバルIPアドレスなどを登録することにより、常に同じホストアドレス(または、ネットボランチ電話番号)で、グローバルIPアドレスの名前解決ができる。

syslog notice on →詳細ログを出すようにする
show log |grep Reject
show log |grep フィルター番号
no ip filter フィルター番号 reject * X.X.X.X/32 * * * ⇒ filterをオフ

WordPress

重複を見つける実験(MariaDB)

SQLで重複しているレコードを全て抽出する (GROUP BY + HAVING) | JOHOBASE

mysql -u admin -p
connect hoge_db;
select menu_order,count(menu_order) from wp_posts GROUP BY menu_order;
+------------+-------------------+
| menu_order | count(menu_order) |
+------------+-------------------+
|          0 |              4647 |
|          1 |                 1 |
|          2 |                 1 |
|          3 |                 1 |
|          4 |                 1 |
+------------+-------------------+
5 rows in set (0.002 sec)

mod_deflateの有効確認

apachectl -t -D DUMP_MODULES |grep deflate
deflate_module (shared)

Autoptimize(WordPress高速化プラグイン)

うちのWordPressでは入れるとページの読み込みが終わらなくなり、だめだった。

MariaDBでWordPressテーブルの削除ができない

データベースを削除できませんでした : SQL drop table `xxxxxx` が失敗しました: Cannot delete or update a parent row: a foreign key constraint fails

Autoptimizeがだめだったので一応WordPressをバックアップから復元しとくかと、データベースからテーブルのみ全削除しようとしたら出たエラー。
一時的に、MySQLの「FOREIGN_KEY_CHECKS」を無効にしてDROPする

SET FOREIGN_KEY_CHECKS = 0

という情報はあったが、
面倒なのでデータベースごと削除して復元。というかそういう制約を作るプラグインはいかがなものかと思う。

RockyLinux

普通にCentOSと同じ感じで使える

apacheがevent起動かprefork起動か確認

httpd -M | grep mpm
 mpm_event_module (shared)

切り替え

/etc/httpd/conf.modules.d/00-mpm.conf

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so

の有効にしたい箇所のコメントを外してhttpdを再起動

Let’s Encrypt

https://qiita.com/dolcano/items/4ad38ec85d0fd27a229c
を参考に。
事前準備
・ドメインがDNSでSSL化するサーバのIPに行くようになっていること。
・Apacheのconfで80番ポートと443番ポート(SSLキー等は証明書取得時は未設定でよいLet’s Encrypt設定後に入れる)のViratulHOSTを設定してエラー無くApacheが稼働すること。

  DocumentRoot /path/to/documentroot
  ServerName ドメイン名


  DocumentRoot /path/to/documentroot
  ServerName ドメイン名
$dnf install certbo
$dnf install certbot 
$certbot certonly --webroot -w /path/to/ドキュメントルート -d ドメイン名 -m メールアドレス

–email or -m メールアドレス で通知用メールアドレスを
–agree-tos で利用規約に同意
を予め指定

対象ドメインの削除

certbot delete

表示されたリストの中から削除したいドメインのNoを選んで削除

毎月1日1時に証明書の更新チェックとhttpdの再起動設定

00 04 01 * * certbot renew && systemctl restart httpd

Webmin

https://sourceforge.net/projects/webadmin/files/webmin/
から最新版を取得。※新しいものでないとOSチェックでエラーとなる場合あり。

dnf install perl perl-Net-SSLeay openssl perl-Encode-Detect
dnf install webmin-1.99X-1.noarch.rpm

いつもは自動起動しないようOFFっておく。

chkconfig --list|grep webmin
webmin          0:off   1:off   2:on    3:on    4:off   5:on    6:off
chkconfig webmin off
webmin          0:off   1:off   2:off   3:off   4:off   5:off   6:off

最近のVerを入れると/etc/init.d/webmin起動からsystemdに置き換わるようなので、その場合は

systemctl disable webmin
で自動起動を停止

php7.4

※デフォルトのPHP7.1だと新しいWordPressは正常に動作しないため、7.4に切り替え。
※MariaDBとの接続用mysqlnd,キャッシュ高速化用opcache,apucも併せてインストール

dnf module list php
dnf module -y reset php
dnf module -y enable php:7.4
dnf module -y install php:7.4/common
dnf install php-mysqlnd php-opcache php-pecl-apcu php-gd

MariaDB10.5

※この時点でデフォルト10.3だったので、どうせなら新しいのを

$dnf module list mariadb
$dnf module -y reset mariadb
$dnf module -y enable mariadb:10.5
$dnf module list mariadb
$dnf module -y install mariadb:10.5
$mysql_secure_installation

GETコマンドのインストール

$dnf install perl-libwww-perlこ

これでGETは入るが、https対応していないので、こちらも

$dnf install perl-LWP-Protocol-https

Windows

WindowsServerのファイルリソースマネージャーでquota状態表示

>でリダイレクト出力できます。

dirquota quota freespace /Path:C:\Users\Administrator\Documents\quota

このツールは推奨されず、Windows の今後のリリースで削除される可能性があります。ファイル サーバー リソース マネージャー機 能を管理するには、FileServerResourceManager モジュールで Windows PowerShell コマンドレットを使用してください。
利用可能:               100.00 MB

copyで条件に合うファイルを連結コピー

copy /b *.log

バッチの中からvbsを起動

バッチファイルの中で以下のように記述

cscript hoge.vbs

lhaplusのコマンドライン使用例

"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" C:\Users\hoge\Documents\test /c:zip /od /log:"C:\Users\hoge\Documents\test.log"

ユーザーhogeのデスクトップにtest.zipが作成されます。

以下のようなバッチを作って複数フォルダをドラッグすると連続で作成してくれますが、あんまり数が多いと(60個~ぐらい?)動かなかったです。

@ECHO OFF
For %%i In (%*) Do (
 call :SUB %%i
)
EXIT /b

:SUB
"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" %1 /c:zip /od /log:"C:\Users\hoge\Documents\test.log
EXIT /b

net use でのネットワーク接続ドライブ指定あり/なし

ドライブ指定あり

追加
net use z: \\ホスト名\share /user:ドメインまたはコンピュータ名\username password
削除
net use z: /delete

ドライブ指定なし

追加
net use \\ホスト名\share /user:ドメインまたはコンピュータ名\username password
削除
net use \\ホスト名\share /delete

一桁時間台のtimeの結果から半角を削除して格納する

set JIKAN=%time: =0%

echo %JIKAN%
14:56:46.03

さらに秒の後と「:」を取り除くには

set JIKAN=%JIKAN:~0,2%%JIKAN:~3,2%%JIKAN:~6,2%

echo %JIKAN%
145646

以上を定義したうえで、以下の様に実行するとログファイルとかに記載するのに便利
echo [%date:/=%-%JIKAN%] XXXXX >> xx.log
[20220902-145646] XXXXXX

 

WinSCPスクリプト内のYYYYMM

%TIMESTAMP#yyyymm%

日付の〇年、〇月、〇日部分のみを取得する

年部分 %date:~0,4%
月部分 %date:~5,2%
日部分 %date:~8,2%

〇月22日に22.logというログファイルを生成する時に当日生成されたファイルをtmpフォルダ配下にコピーする例

copy %date:~8,2%.log tmp

1行目が見出しとなっているカンマ区切りCSVから1列目~3列目までを別CSVファイルにエクスポートする

importの方だけ-Encoding付けたら出力ファイルが文字化け。import,export両方Encoding付けておくと文字化けしなかった。

import-csv "抽出元CSVファイルパス" -Encoding default -Delimiter ","|select "見出し1","見出し2","見出し3"|export-csv "抽出後出力先CSVファイルパス" -Encoding Default

 

Outlookから決まったファイル名の添付ファイルを付けて定型のメールを送るVBscript

Outlookから決まったファイル名の添付ファイルを付けて定型のメールを送るVBscript | すあまにあーず! (bigfoot.work)

ExcelのCOUNTIF関数使用例

任意のセル番号にある文字列が任意のセル範囲に何個含まれるかを返す

=COUNTIF(セル範囲,セル番号)

FFFTPのフィルタ複数指定

文字列*;文字列*

Excelで文字列と「_」と今日の日付(yyyymmdd)と「*」を連結

="hoge"&"_"&TEXT(TODAY()"yyyymmdd")&"*"

hoge_20220101*
のようになります。よくあるログファイル形式のワイルドカード指定

dirの結果をカウントする

dir /s /b  |find /c /v ""

vlookup例

=IF(A1="","",VLOOKUP("*"&A1&"*",他のシート!A:C,2,FALSE)

現在のシートのA1セルが空白であればN/Aではなく空白を表示(A1="","")、そうでなければ他のシートのA列からC列までの範囲(A:C)で現在のシートのA1セルに入力されたデータを含む(“*"&A1&"*")A列の最初の行のB列(2)の値を表示する

dirの出力をファイルの大きい順に並び変え

dir /o-s

「-」はソート順反転の意味

findstrで複数のtxtファイルから「A FAILED」を含む文字列を抽出する

これではだめ A or FAILEDを探してしまう

findstr "A FAILED" *.txt

「 」(空白)として見てほしければエスケープしませう。

findstr "A\ FAILED" *.txt

findstrで複数のtxtファイルから「-S」を含む文字列を抽出する

「-」はエスケープしませう。

findstr "\-S " *.txt

dirのサブフォルダ含む、パス+ファイル名のみ表示、特定の拡張子

dir /s /b *txt

バッチのSTART /WAITオプション

STARTはそのままではアプリケーションの終了を待たない(callは待つ)が、START /WAITと書くと実行したアプリケーションが終了するまで待つようになる。

START /WAIT アプリケーション
START /WAIT アプリケーション
・
・

という感じで列挙できる。

PowerShellで「tail -f」のようなことをする

get-content c:\path\to\sample.txt -wait -tail 10 (-Encoding UTF-8)

Excelの参照で値が入っていない場合に空白にする

式の最後に

&""

を付与する。

ファイル名変数取得

ドラッグファイル格納用変数

%1

ファイル名の拡張子前までを取得

fname=%~n1

ファイル名の拡張子を取得

kakuchosi=%~x1

バッチファイルの格納先ディレクトリパスを取得

dirpath=%~dp0

上記を組み合わせて何か変換をかけたいファイルをドラッグして変換後、別名で保存したい時など
例)CRLFをLFに変換して別名保存

%dirpath%nkf.exe -0Lu %1 %dirpath%\%fname%_LF%kakuchosi%

Whereコマンドでフォルダ配下のファイルをサブフォルダも含めタイムスタンプとファイルサイズをすっきりと一覧表示する

カレントのファイルすべて

where /R . * /T 

ファルダ配下の拡張子を持つファイル

where /R フォルダ *.* /T

実行例
C:\Users\hoge>where /R Pictures * /T
124133 2022/05/18 17:42:22 C:\Users\hoge\Pictures\x206434.jpg
101943 2022/05/16 11:22:20 C:\Users\hoge\Pictures\x214691.jpg
101653 2022/05/16 11:22:04 C:\Users\hoge\Pictures\x214691.png
314441 2022/05/18 0:26:00 C:\Users\hoge\Pictures\x234390.jpg

 

日付変数(YYYYMMDD)

%date:/=%

日付変数日付(YYYYMM)

%date:~0,4%%date:~5,2%

昨日日付(バッチ内PowerShell使用)

YYYYMMDD形式
FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddDays"("-1")".ToString"("'yyyyMMdd'")"`) DO SET yesterday=%%a

以降、使用したい箇所で%yesterday%で使用可能

YYYYMM形式(100日前)
FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddDays"("-100")".ToString"("'yyyyMM'")"`) DO SET yesterday=%a
DD形式で変数に格納し、利用する
9/5に実行した場合

FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddDays"("-1")".ToString"("'dd'")"`) DO SET yesterday1=%a
FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddDays"("-2")".ToString"("'dd'")"`) DO SET yesterday2=%a
FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddDays"("-3")".ToString"("'dd'")"`) DO SET yesterday3=%a
FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddDays"("-10")".ToString"("'dd'")"`) DO SET yesterday4=%a

echo %yesterday1%
04
echo %yesterday2%
03
echo %yesterday3%
02
echo %yesterday4%
26

こんな感じで使う(昨日のdd.logがある時)
copy c:\hoge\%yesterday1%.log c:\hoge\hoge\


先月のYYYYMM(コマンドラインの中でPowerShellを実行)

バッチファイルの中で使う場合は「%」を2つにする。コマンドラインで直接実行は%は1つでよい。

FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddMonths"("-1")".ToString"("'yyyyMM'")"`) DO SET lastmonth=%%a

+1で翌月、年、月を入れたフォーマットも可能

FOR /F "usebackq" %a IN (`powershell [DateTime]::Today.AddMonths"("+1")".ToString"("'yyyy年MM月'")"`) DO SET lastmonth=%a

PowerShellが使えないWindowsは撲滅希望(笑)

評価版有効期限の確認(クライアント/サーバーOS両方OK)

slmgr -dlv

評価版有効期限の延長(クライアント/サーバーOS両方OK)

slmgr -rearm

PowerShellでリアルタイムログ監視

Get-Content -Wait -Tail 10 -Path "ファイルへのパス"

Excelの文字列連結

=セル&"/"&セル

Excelで画像を任意の位置に貼る

画像をコピー

右クリック→形式を選択して貼り付け

ビットマップを選択

OK

Linux

CenOS6でTLS1.2~に対応する

yumだけで解決できそうかな。。。

参考サイト

CentOS6でTLS1.2を利用可能にしてSSLを有効化する手順 | Webは用いる人のリテラシーで決まる (cat-marketing.jp)

こんな話もあったので注意ですかね。

【Linux】nssをアップデートしたらundefined symbol: PR_GetEnvSecure というエラーが出た | ばちブロ (vatchlog.com)

lsの結果をサイズ順にする

ls -lS 

ls -lSr

先頭が「#」のコメント行を除いて抽出

末尾が.shで終わるファイルの中から「.sh」を含む行を抽出し、さらに「abc」が含まれる行と先頭が0個以上の空白に続けて#で始まる行を除外する。「.sh」を含む行は「\.sh」というようにエスケープしている。

grep "\.sh" *.sh |grep -v "abc"|grep -v "^\d*#"

sedとawkの使用例

/proc/net/devのeth0の行の「:」を「 」(空白)に置換し、10カラム目にある文字(Transmit bytes)を表示する

cat /proc/net/dev | grep eth0 | sed -e 's/:/ /' | awk '{print$10}'

Vimの表示文字コード変更

いあ、WordPressのconfigが文字化けで直接編集できんくて、Windowsに落として修正、再アップロードでもできるんですが、メンドイので、方法ないかと思ったら、カンタンでしたね。

: set enc?
encoding=latin1

:set encoding=utf-8

: set enc?
encoding=utf-8

VCS(Veritas Cluster Server)

VCS の「チートシート」: さまざまな Veritas Cluster Server (VCS) コマンドのクイックリファレンス

クラスタの状態サマリー表示
hastaus -sum

サービスグループの任意のメンバーサーバをフリーズ
hagrp -freeze クラスタグループ名 -sys メンバーサーバ

サービスグループの任意のメンバーサーバをフリーズから復帰させる
hagrp -unfreeze クラスタグループ名 -sys メンバーサーバ

hagrp -offline クラスタグループ名 -sys メンバーサーバ

hagrp -online クラスタグループ名 -sys メンバーサーバ

hagrp -flush クラスタグループ名 -sys メンバーサーバ

hagrp -switch クラスタグループ名 -to メンバーサーバ

hastop -

hagrp -clear クラスタグループ名 -sys xxxx

GAB,gabtab

VCS の「チートシート」: さまざまな Veritas Cluster Server (VCS) コマンドのクイックリファレンス

Oracle

vxdisk -f -g XXXXX resize xxx
vxassist -g xxxx maxgrow xxxx
vxresize -g xxxx -F vxfs xxxx xxxxx xxxxx
vxdisk list

ls -laで複数のパターンのファイルを指定する

/root/work配下に以下のようなファイルがあり、それを一度にls -la するには
abc ehg hij0 hij1 hij2 hij3 hij4 hij5 hij6 klm1 klm2

ls -la /root/work/{abc,ehg,hij[0-6],klm[12]}

{A,B,C} A or B or C のいずれかにマッチ
[0-6]0,1,2,3,4,5,6のいずれかにマッチ
[12]1,2のいずれかにマッチ

ポート番号

ウェルノウンポート 0~1023  ⇒ 決められているものが多く、使用できなものあり。

登録ポート 1024~49512 ⇒ 何らかのソフトウェアと重複する可能性あり。

ダイナミック/プライベートポート 49513~65535 ⇒ 基本的には、自由に使えるポート番号の範囲。

「-」で始まるファイルを消す

rm ./-hoge

lsの実行結果返り値

ファイルあり

echo $?
0

ファイルなし

echo $?
2

tail -f hoge*で複数ファイルをモニタできる

timeZoneの変更

timedatectl set-timezone Asia/Tokyo

postfix

キューの全削除
postsuper -d ALL
設定の確認
postconf | grep smtp_tls_security_level

とか。

htdigestファイル生成コマンド

htdigest -c /path/to/.htdigest 'HIMITSU' ユーザ名

実行すると設定するパスワードを聞かれる。
↓Digest認証をローカルからのアクセスのみスルーする
https://bigfoot.work/suama/archives/12003

sendmail⇒postfix切り替え

yum install postfix
alternatives --config mta
systemctl stop sendmail
systemctl start postfix
systemctl status postfix
systemctl disable sendmail
systemctl enable postfix

logwatchの出力先を変更

logwatch --output file --filename /home/hoge/logwatch_log/logwatch_`date '+%Y%m%d'`.log

タイムスタンプではなくファイル自体の更新日付を確認

stat ファイル名

host名を変更(RHEL7系~)

初回だけでなく、2回目以降もこのコマンドでOK。

hostnamectl set-hostname HOSTNAME

apacheとtomcat連携例

localhost:8080/app

localhost/app
に飛ばす。

ProxyPass ajp://localhost:8009/app/

cuiでのネットワーク設定

nmtui

sshの公開鍵認証設定

ssh-keygen
ssh-copy-id username@servername

こんだけ。

※対向のサーバをリプレイスした時
アクセス元の「~ssh/known_hosts」内のアクセス先サーバ情報を削除して

ssh-copy-id username@servername

を再実行。
うまくいかなければ

ssh-keygen

からやり直し。

Teratermでの接続
接続先サーバで実施
su - hoge
cd
ssh-keygen
cat /home/hoge/.ssh/id_rsa.pub >> /home/hoge/.ssh/authorized_keys
chmod 600 /home/hoge/.ssh/authorized_keys
接続PCで実施

サーバの/home/hoge/.ssh/id_rsaファイルの中身をコピーして「id_rsa」とかの名前で保存
Teraterm接続時にそのファイルを指定

SSHの公開鍵認証で「ead error SSH2 private key file error:0909006C:PEM routines:get_name:no start line. 」エラーが出る場合

鍵ファイルの最終行の後に改行が入っていない

fail2ban

デフォルト値
bantime = 600
findtime = 600
maxretry = 5
1日に複数回失敗を長期BAN

[recidive]セクションに

enabled = true

を追加してfail2banを再起動。

fail2ban-client status recidive
iptables -L -n

で確認。

banを解除
fail2ban-client set recidive unbanip xxx.xxx.xxx.xxx

任意のディレクトリ配下で一定時間経過したファイルを削除する

72時間より前のファイルを削除 -t を付けると消さずに前確認ができる

tmpwatch -m 72 /path/to/dir

ディレクトリ別容量表示

du -cks *|sort -rn|head -11

日付変数

YYYYMMDD

date '+%Y%m%d'

一か月前のYYYYMM

date -d '1 month ago' +%Y%m

文字コード変換(iconv)

nkf入ってなくともiconvなら入っていることあるので。

UTF-8→SHIFT_JIS
iconv -f UTF8 -t SJIS 変換したいファイル名 > 変換後のファイル名
SHIFT_JIS→UTF-8
iconv -f sjis -t utf8 変換したいファイル名 > 変換後のファイル名

firewalld

許可
firewall-cmd --zone=public --add-port=PortNO/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
削除
firewall-cmd --remove-port=PortNO/tcp
適用
firewall-cmd --reload

htdigestでのパスワードファイル作成

htdigest -c /path/to/.htdigestfile 'Hoge' UserName


PDF

コンピュータ

Posted by suama