刚刚毕业参加工作,这是我写的第一篇blog,技术不好,有不好的地方希望各位师哥师姐指正。
作为手机游戏服务端java开发工程师,不可避免的会接触到一些刷表的任务,虽然不是很复杂,但是过程很繁琐,熟练了流程以后就很容易上手了,我也是在公司服务器技术大大的帮助下才熟悉了这套流程,借花献佛,让新手少走弯路,也为自己的成长做个备份。
拿我们公司来说,要刷表的话,需要以下几个步骤:
一、首先运营那边会给服务器这边发一份excel表格,是各种活动数据的配置信息,然后将excel表格转换为sql文件(这个过程视公司不同而有所不同)。
二、在mysql数据库客户端对应的数据库中运行生成的sql文件,或者直接复制sql文件里的内容在数据库中新建查询,然后运行sql语句。
三、接着就是重启tomcat了,这里说一下,一般游戏公司真正的线上服不止一个tomcat,本blog仅以一个tomcat为例
1、查看tomcat所在目录
在xshell中输入命令ps -ef | grep java
会出现类似下面的结果
root 8013 1 0 Aug03 ? 00:02:14 /usr/java/default/bin/java -Djava.util.logging.config.file=/data/tomcat/conf/logging.properties -Djava.util.logging.manager= org.apache.juli.ClassLoaderLogManager -Duser.timezone=GMT+08 -Djava.endorsed.dirs=/data/tomcat/endorsed -classpath /data/tomcat/bin/bootstrap.jar -Dcat alina.base=/data/tomcat -Dcatalina.home=/data/tomcat -Djava.io.tmpdir=/data/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 18564 18549 0 11:31 pts/0 00:00:00 grep java
这就是说tomcat的目录在java.util.logging.config.file=/data/tomcat/ 即 :/data/tomcat/
2、打开tomcat所在目录
在xshell中输入命令cd /data/tomcat/wepapps/打开工作空间
3、运行脚本
接着输入ll命令,列举该文件夹下所有文件,一般来说该目录下会有一个XXXXX.sh的脚本文件,运行之
输入sh XXXXX.sh命令之后,tomcat自动重启
四、验证tomcat重启生效
切换到日志目录
输入命令cd ../logs
输入命令ls列举所有日志文件
输入命令tail -f catalina.out或者tail -100f catalina.out后输出日志
查阅日志找到load finished,代表tomcat重启成功,否则没有成功(没有成功的解决办法是看看目录对不对,实在不行就找带你的技术大大)。
五、重启memcached
输入命令service memcached restart
出现两行记录,若首行记录出现【成功(successful)】、第二行记录出现【确定(sure)】,则代表重启成功,否则失败。
失败解决办法:杀死该服务
解决步骤:输入命令ps -ef | grep mem
出现如下两行记录:
497 633 1 0 Aug01 ? 00:01:43 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
root 14157 12878 0 11:56 pts/2 00:00:00 grep mem
输入命令kill -9 633
之后复制粘贴运行memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
进行以上操作时,线上玩家会掉线,所以执行该操作要慎重
OK,问题解决
六、接下来就是将sql文件发给运维并告诉他们刷表完成,让他们测试,至此你的工作告一段落。