linuxでサービス起動・停止・チェックをスクリプト化してる。

oracle express/sqlserver express/postgresql13,14をサービスとして扱い、windowsでもやってみた。

ベターっと書いてるけど、書き方思い出せないときのためのメモ。

使うコマンド

こんな感じで起動と停止。

1
2
net start (サービス名)
net stop  (サービス名)

チェックはこんな感じ。

1
2
3
4
5
6
sc query (サービス名) | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo (サービス名) -- Running
) else (
  echo (サービス名) -- Down
)

Oracle起動

なんでか知らんけどVssWriterXEの操作うまくいかへんかったからコメント化。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
rem +-----------------------------------------+
rem | 処理名:oracleサービス起動
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem oracle21 expressサービス起動

set sv11="OracleServiceXE"
set sv12="OracleOraDB21Home2MTSRecoveryService"
set sv13="OracleOraDB21Home2TNSListener"
set sv14="OracleVssWriterXE"

@echo on

net start %sv11%
net start %sv12%
net start %sv13%
rem net start %sv14%

timeout /T 20
exit /b

Oracle停止

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
rem +-----------------------------------------+
rem | 処理名:oracleサービス停止
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem oracle21 expressサービス停止

set sv11="OracleServiceXE"
set sv12="OracleOraDB21Home2MTSRecoveryService"
set sv13="OracleOraDB21Home2TNSListener"
set sv14="OracleVssWriterXE"

@echo on

net stop %sv11%
net stop %sv12%
net stop %sv13%
rem net start %sv14%

timeout /T 20
exit /b

sqlserver起動

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
rem +-----------------------------------------+
rem | 処理名:sqlserverサービス起動
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem sqlserver expressサービス起動

set sv21="MSSQL$SQLEXPRESS"
set sv22="SQLTELEMETRY$SQLEXPRESS"
set sv23="SQLWriter"

@echo on

net start %sv21%
net start %sv22%
net start %sv23%

timeout /T 20
exit /b

sqlserver停止

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
rem +-----------------------------------------+
rem | 処理名:sqlserverサービス停止
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem sqlserver expressサービス停止

set sv21="MSSQL$SQLEXPRESS"
set sv22="SQLTELEMETRY$SQLEXPRESS"
set sv23="SQLWriter"

@echo on

net stop %sv21%
net stop %sv22%
net stop %sv23%

timeout /T 20
exit /b

postgresql起動

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
@echo off
rem +-----------------------------------------+
rem | 処理名:postgresqlサービス起動
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem postgresqlサービス起動

set sv31="postgresql-x64-13"
set sv32="postgresql-x64-14"

@echo on

net start %sv31%
net start %sv32%

timeout /T 20
exit /b

postgresql停止

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
@echo off
rem +-----------------------------------------+
rem | 処理名:postgresqlサービス停止
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

rem postgresqlサービス停止

set sv31="postgresql-x64-13"
set sv32="postgresql-x64-14"

@echo on

net stop %sv31%
net stop %sv32%

timeout /T 20
exit /b

起動状態チェック

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
@echo off
rem +-----------------------------------------+
rem | 処理名:サービス状態表示
rem | 作成日:2022/4/9
rem | 
rem +-----------------------------------------+

set sv11="OracleServiceXE"
set sv12="OracleOraDB21Home2MTSRecoveryService"
set sv13="OracleOraDB21Home2TNSListener"
set sv14="OracleVssWriterXE"

set sv21="MSSQL$SQLEXPRESS"
set sv22="SQLTELEMETRY$SQLEXPRESS"
set sv23="SQLWriter"

set sv31="postgresql-x64-13"
set sv32="postgresql-x64-14"

remサービス起動チェック

echo----------Oracle サービス---------

sc query %sv11% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv11% -- Running
) else (
  echo %sv11% -- Down
)

sc query %sv12% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv12% -- Running
) else (
  echo %sv12% -- Down
)

sc query %sv13% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv13% -- Running
) else (
  echo %sv13% -- Down
)

echo--
echo---------SQLServer サービス-------

sc query %sv21% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv21% -- Running
) else (
  echo %sv21% -- Down
)

sc query %sv22% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv22% -- Running
) else (
  echo %sv22% -- Down
)

sc query %sv23% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv23% -- Running
) else (
  echo %sv23% -- Down
)

echo--
echo-------Postgresql13 サービス-----

sc query %sv31% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv31% -- Running
) else (
  echo %sv31% -- Down
)

echo--
echo-------Postgresql14 サービス-----

sc query %sv32% | find "RUNNING" > NUL
if %ERRORLEVEL% == 0 (
  echo %sv32% -- Running
) else (
  echo %sv32% -- Down
)

echo--
echo---------------------------------

rem pause