Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1f7bb07

Browse files
committed
add opsmod log and if or not
1 parent d3c6d32 commit 1f7bb07

File tree

1 file changed

+70
-20
lines changed

1 file changed

+70
-20
lines changed

opsmod.py

Lines changed: 70 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,54 @@
88
import time
99
import zipfile
1010
import datetime
11+
import getpass
12+
import logging
1113
import subprocess
1214
from subprocess import Popen
1315

1416

1517
#src update package path
16-
src_path = '/tmp/backup'
18+
src_path = '/home/mrdTomcat/update'
19+
1720
#des update package path
18-
des_path = {'tomcat': '/tmp/222',
19-
'apache': '/tmp',
20-
'websocket': '/tmp'}
21+
des_path = {'webap': '/home/app/webap/tomcat/webapps',
22+
'apache': '/usr/local/apache',
23+
'websocket': '/home/app/websocket/webapps',
24+
'batch': '/home/app/tomcat/webapps',
25+
'memcache': '/home/app/memcached',
26+
'sdk': '/home/app/sdk/tomcat/webapps'}
27+
2128
#src backup package path
2229
bsrc_path_lt = {'tomcat': ['/tmp/2', '/tmp/1'],
23-
'apache': ['/tmp'],
30+
'apache': ['/usr/local/apache2/conf'],
2431
'websocket': ['/tmp']}
32+
2533
#des backup package path
26-
bdes_path = '/tmp/backup'
34+
bdes_path = '/home/mrdTomcat/version_bak'
35+
2736
#service name and server start bin
28-
srv_up = {'tomcat': '/home/mrdTcomat/app/tomcat/bin/start.sh',
29-
'apache': '',
30-
'websocket': ''}
37+
srv_up = {'webap': '/home/app/webap/tomcat/bin/startup.sh',
38+
'apache': '/usr/local/apache/bin/apachectl start',
39+
'websocket': '/home/app/websocket/bin/jetty.sh start',
40+
'batch': '/home/app/tomcat/bin/startup.sh',
41+
'memcache': '/home/app/memcached/bin/start.sh',
42+
'sdk': '/home/app/tomcat/bin/startup.sh'}
43+
3144
#service name and server stop bin
32-
srv_down = {'tomcat': '/home/mrdTcomat/app/tomcat/bin/shutdown.sh',
33-
'apache': '',
34-
'websocket': ''}
45+
srv_down = {'webap': '/home/app/tomcat/bin/shutdown.sh',
46+
'apache': '/usr/local/apache/bin/apachectl stop',
47+
'websocket': '/home/app/websocket/bin/jetty.sh stop',
48+
'batch': '/home/app/tomcat/bin/shutdown.sh',
49+
'memcache': '/home/app/memcached/bin/stop.sh',
50+
'sdk': '/home/app/tomcat/bin/shutdown.sh'}
51+
52+
#server pidfile path
53+
srv_pidfile = {'webap': '/var/run/webap/webap.pid',
54+
'apache': '',
55+
'websocket': '',
56+
'batch': '',
57+
'memcache': '',
58+
'sdk': ''}
3559

3660

3761
#change return color
@@ -50,9 +74,14 @@ def start(ServiceName):
5074
CLI Example:
5175
opsmod.py ServiceName start
5276
'''
77+
pid = srv_pidfile[ServiceName]
5378
cmd = srv_up[ServiceName]
54-
proc = Popen(cmd, shell=True)
55-
return G('Start GameServer is successful !')
79+
logging.info('{0} start'.format(ServiceName))
80+
if os.path.exists(pid):
81+
return R('GameServer is already running !')
82+
else:
83+
proc = Popen(cmd, shell=True)
84+
return G('Start GameServer is successful !')
5685

5786

5887
def stop(ServiceName):
@@ -62,9 +91,14 @@ def stop(ServiceName):
6291
CLI Example:
6392
opsmod.py ServiceName stop
6493
'''
94+
pid = srv_pidfile[ServiceName]
6595
cmd = srv_down[ServiceName]
66-
proc = Popen(cmd, shell=True)
67-
return G('Stop GameServer is running...,please wait !')
96+
logging.info('{0} stop'.format(ServiceName))
97+
if os.path.exists(pid):
98+
proc = Popen(cmd, shell=True)
99+
return G('Stop GameServer is running...,please wait !')
100+
else:
101+
return R('GameServer is already stopped !')
68102

69103

70104
def status(ServiceName):
@@ -74,11 +108,13 @@ def status(ServiceName):
74108
CLI Example:
75109
opsmod.py ServiceName status
76110
'''
77-
cmd = 'ps -ef|grep {0}|grep -v grep'.format(ServiceName)
111+
cmd = 'ps -ef|grep "{0}"|grep -v grep'.format(ServiceName)
78112
proc = Popen(cmd, stdout=subprocess.PIPE, shell=True)
79-
item = proc.stdout.read()
80-
cot = len(item.split('\n')) - int(1)
81-
ret = item + '\n' + '*'*80 + '\n' + 'The total of process is {0} !'.format(cot)
113+
item = proc.stdout.read().split('\n')[:-2]
114+
its = '\n'.join(item)
115+
cot = len(item)
116+
ret = its + '\n' + '*'*80 + '\n' + 'The total of process is {0} !'.format(cot)
117+
logging.info('{0} status'.format(ServiceName))
82118
return G(ret)
83119

84120

@@ -89,6 +125,7 @@ def update(ServiceName, Pkg):
89125
CLI Example:
90126
opsmod.py ServiceName update Pkg
91127
'''
128+
logging.info('{0} update {1}'.format(ServiceName, Pkg))
92129
if Pkg:
93130
fl = os.path.join(src_path, Pkg)
94131
try:
@@ -109,6 +146,7 @@ def backup(ServiceName):
109146
CLI Example:
110147
opsmod.py ServiceName backup
111148
'''
149+
logging.info('{0} backup'.format(ServiceName))
112150
bakname = ServiceName + '_' + datetime.datetime.now().strftime('%Y%m%d%H%M%S') + '.zip'
113151
zipname = os.path.join(bdes_path, bakname)
114152
f = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED)
@@ -125,6 +163,17 @@ def backup(ServiceName):
125163

126164

127165
if __name__== "__main__":
166+
if os.path.exists('./logs'):
167+
pass
168+
else:
169+
os.makedirs('./logs')
170+
log_ft = datetime.datetime.now().strftime('%Y-%m-%d-%H')
171+
user_cmd = getpass.getuser()
172+
logging.basicConfig(level=logging.DEBUG,
173+
format='%(asctime)s {0} %(levelname)s: %(message)s'.format(user_cmd),
174+
datefmt='%Y-%m-%d %H:%M:%S',
175+
filename='./logs/control{0}.log'.format(log_ft),
176+
filemode='a')
128177
opts = sys.argv
129178
try:
130179
if opts[1]=='-d' or opts[1]=='--help':
@@ -147,3 +196,4 @@ def backup(ServiceName):
147196
print R('Script Parameter Error !!!')
148197
except IndexError:
149198
print R('Script Parameter Error !!!')
199+

0 commit comments

Comments
 (0)