Tomcat war デプロイ用スクリプト

回数が少なく時々な場合は、気になりませんでしたが、再デプロイが多いと面倒で間違いも懸念されるので、かんたんなスクリプトにしておきました。

#!/bin/sh

echo $1

if [ $# != 1 ]; then
  echo "No argument will exit"
  exit 1
else
  echo "OK will proceed" 
fi


cd /home/centos

cp /home/centos/$1.war /home/tomcatapps
rm -rf /home/tomcatapps/$1
systemctl restart tomcat9
sleep 5
ls /home/tomcatapps/$1 -l

AlmaLinux8 をVirtualBoxにインストール

昨年12月の CentOS8サポートの2021年での終了、後継の CentOS8 Streamの方向性が、FedoraとRHELの中間、実験的リリースで不安定なパッケージも含まれる可能性があるとのことなので、運用中のCentOS8の後継をどうしようかと悩んでました。

解説リンク

AlmaLinuxとRockyLinuxが対応するようなので、早速、AlmaLinuxをVirtualBoxのゲストにインストールしました。

パッケージの対応状況とか調べていきたく思ってます。

CentOS8 dnfでインストール出来ないパッケージ 2019-11

さくらのVPSでCentOS8がインストール出来るので、先月、インストールしてみました。

< インストールした主なパッケージ >

PHP7

MySQL8

LibreOffice

tiger-vncserver

postfix

inotify-tools

mailx

AdoptOpenJDK

Oracle OpenJDK

など

< まだdnfになく、rpmでインストール >

nkf

==> MySQLのCSV出力で必須

< 未インストール >

davfs2

==> 半分あきらめ、WebDavはマウントせず、都度、curlを使用中

==> 2020-05-16 あったのでインストール出来ました

swatch

==> logmonをgitからダウンロードして代替

geany

==> 2020-05-16 あったのでインストール出来ました

ssmtp

MATE Desktop

 

 

OpenJDK 9 の導入と probe3.2.0 の動作確認

JDK が Ver11 が最新になったようで、サーバーで OpenJDK 8 を使っているので、いずれ近いか遠いかわかりませんが、将来的にオラクルのサポート対象外になると思い、

OpenJDK9 のインストールと Tomcat9 + probe での動作をテストしてみました。

OpenJDK は、9.0.4
Tomcat は最新の 9.0.14
probe は最新の Version 3.2.0 (built at 2018-12-20T22:06:41Z)

を、VirtualBox の CentOS7 に導入したところ、
無事、ちゃんと動きました。


[root@localhost local]# java -version
openjdk version &quot;9.0.4&quot;
OpenJDK Runtime Environment (build 9.0.4+11)
OpenJDK 64-Bit Server VM (build 9.0.4+11, mixed mode)
[root@localhost local]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

OpenJDK8 で ImageIO が原因未解決なエラーが多く、ImageMagick で代替したところ、脆弱性問題でよろしくないようで、PHP GD でのシェル利用による代替してましたが、

やはり、他に依存せず、JAVA で完結させるのがパフォーマンス上、管理上、ベストと思いますので、WEBアプリケーションでの動作チェックをしていくことにします。

OpenJDK9 は、まだ yum のパッケージがないので、下で教えて頂きました

https://weblabo.oscasierra.net/installing-openjdk9-on-centos7/

Linux コマンド x日以上前 最後に修正されたファイルの削除

よく忘れるので備忘録しておきます。
溜まった過去ログの古く不要なのを削除するのに使ってます。

[ コマンド例 ]

180日以上前のファイルを削除

 

find /parentdirectoryname/directoryname -mtime +180 -exec rm -f {} \;

詳しくはここに書いてくださってます : https://qiita.com/narumi_/items/9ea27362a1eb502e2dbc

Linux Shell ディレクトリサイズスクリプト (du find)

Windows でディレクトリのサイズ合計を見せてくれるアプリがありますが、Linuxで同様のことがわかるシェルスクリプトを作ってます。
容量的に厳しくなってきたサーバーのファイル整理、無駄に溜まってる過去のログのチェックなどに使えると思います。

調べたいディレクトリをカレントにして、コマンドを実行。
shファイルのフルパスを指定する必要あるので、alias で設定しておけば便利と思います。

[ スクリプト ]

#!/bin/sh

#
# target directory file size summary list
#

tgt=`pwd`

echo ${tgt}
dirs=${tgt}/*

# loop current directory #
for filepath in ${dirs}; do
  # if filename belongs directory #
  if [ -d ${filepath} ]; then 
     
     # if excluded dir, do nothing. 
    if [ $# -eq 2 ] && [ $1 = "E" ] && [ $2 = ${filepath} ] ; then
      echo ${filepath}" ignored"
    else 
	  du -sh ${filepath}
    fi
    
    # if param count equals 1 and "C" #
    # print a file count # 
    if [ $# -eq 1 ]; then
      if [ $1 = "C" ]; then
        find ${filepath} | wc -l 
        echo "---------------------------------"
      fi
    fi
  fi 
done

[ 利用例 ]

引数なし

[root@???? opt]# /scriptdir/scriptname.sh
/opt
30M	/opt/firebird
190M	/opt/google
382M	/opt/openoffice4
700M	/opt/saw17
392M	/opt/sqlanywhere16

$1 : C
ファイル数も出力

[root@???? opt]# scriptdir/scriptname.sh C
/opt
30M	/opt/firebird
256
---------------------------------
190M	/opt/google
101
---------------------------------
382M	/opt/openoffice4
4275
---------------------------------
700M	/opt/saw17
1913
---------------------------------
392M	/opt/sqlanywhere16
2810
---------------------------------

$1 : E
$2 : 対象からはずすディレクトリ

[root@???? opt]# /scriptdir/scriptname.sh E /opt/google
/opt
30M	/opt/firebird
/opt/google ignored
382M	/opt/openoffice4
700M	/opt/saw17
392M	/opt/sqlanywhere16