工作日常记录



一:linux常用命令篇  6223050001392045

包含字符串的文件查找
grep -n "hello,world!" *

grep -rn "17:17:19" .

find / -name socket


 
* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

下面是一些有意思的命令行参数:


cat /proc/cpuinfo  查看cpu信息



scp /etc/mysql/my.cnf [email protected]:/etc/mysql
将mysql配置文件上传到136服务器相应文件夹内

scp [email protected]:/etc/mysql/my.cnf /etc/mysql
将136服务器上的mysql配置文件下载到本地的相应文件夹下面

scp -r /etc/mysql/ [email protected]:/etc/mysql
-r为拷贝目录

查看端口号是否被占用   netstat -anp|grep 80


易洽:

1. 远控 10.42.205.228 (存在一个小网卡,可以连到192.168.0.0网段) 用户名密码: zw/Mcptt.123

 10.42.205.178(双网卡,小网地址:192.168.15.178) root Mcptt.123 wifi环境,登录调度台可以远程10.42.205.228,再用网页访问192.168.15.178。PDS代码里取的地址为小网地址。手机app的服务器IP地址需要连wifi分配的地址。


2.  管理台: http://114.55.174.201:8002/echat/                     
    新建运营商账号:放号使用,只管理终端号码
 新建集团用户账号:账号使用后,进行群组创建之类
 (详细参看文档)
    集团管理员用户名密码 zwdf1/111111            //获取个人账号和加入群组
    调度台: http://114.55.174.201                                  调度员账号密码      10111600030/111111 //必须使用集团调度员账号 权限才能进入,在管理台中寻找集团调度员账号
              若出现下载插件,更新完后,需要把后台explorer.exe杀掉才行

   OMM:   http://114.55.174.201:2323/mcptt_1/client/#  //用10.42.205.228(开发部公网pc机,能登录阿里云114.55.174.201)远程后IE进入,用admin01/zteGota1819账号进入 调试日志,输入msn号(管理台中申请的)
   http://192.168.15.178:2323/inms_254/client/#     //进入和PHR等配置界面
   http://192.168.15.178:2323/mcptt_1/client/#
   http://10.42.205.178:2323/mcptt_1/client/#
   MBS登陆查看(admin/888888)
   http://47.92.159.106/mbss/


一、 先远控堡垒机,有两台,随便用那一台都可以
    10.42.205.2   用户名密码:  gota/gota
    10.42.205.5   用户名密码:  dss/dss

  
二、然后在堡垒机里在远控内网的PC机  
    172.16.7.207     mcptt/mcptt123   


这台机器是其他同事暂时不用,你先用着,自己的东西单独建个目录存放
后面机器具体怎么安排,等 青海 统一安排。

调试机环境:
172.16.2.250 root/pdscode123
  mcptt/pdscode123

172.16.2.248 root/mcptt123

172.16.2.22 root/epc123 (PHR调试环境)

telnet调试:telnet 172.16.2.248 60020 (UPM是60021)  密码:zte
使用print直接打印shell可以直接显示,shell的反馈是输出到/zte/pds/log/cpm_shell.txt(upm_shell.txt)这个文件里(需要敲入命令:tail -f /zte/pds/log/shell_cpm.txt)。


本地 pc机如何向172.16.2.248拷贝数据:

PC<---ftp传输---10.42.123.178
|
|----ftp传输---->10.42.205.178创建zhuwei目录文件夹


tcpdump -i any -s 0 -w /home/zhuwei/udp.cap

linux的网卡流量统计工具是iftop统计

打开linux的core文件

 vi /etc/security/limits.conf

#<domain>      <type>  <item>         <value>
 *               soft    core            unlimited     //打开core文件记录
 *               soft    stack           10240   //修改线程栈空间到10M
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

shutdow -r now


#########################分析开始   函数栈被破坏的跑飞故障##############################
gdb -c core.4561
file pdscpm
bt

set print elements 0
//解决字符过长无法打印显示问题

(gdb) f 0
#0  0x00007fc996e9bd5a in ?? ()
(gdb) info f  查看当前栈的调用信息
Stack level 0, frame at 0x7fc995005b20:
 rip = 0x7fc996e9bd5a; saved rip 0x7fc996e525e2
 called by frame at 0x7fc995005b28
 Arglist at 0x7fc995005b10, args:
 Locals at 0x7fc995005b10, Previous frame's sp is 0x7fc995005b20
 Saved registers:
  rip at 0x7fc995005b18
(gdb)

info registers //查看寄存器值
(gdb) info registers
rax            0x7fc995006310   140503764984592
rbx            0x7fc995006110   140503764984080
rcx            0xffffffff       4294967295
rdx            0x7fc9950062f0   140503764984560
rsi            0xffffffff       4294967295
rdi            0xfffffff0       4294967280
rbp            0x7fc995006100   0x7fc995006100
rsp            0x7fc995005b30   0x7fc995005b30
r8             0x0      0
r9             0xc      12
r10            0xc      12
r11            0x7fc996e949f2   140503797025266
r12            0xfbad8001       4222451713
r13            0x7fc9950062f0   140503764984560
r14            0xffffffff       4294967295
r15            0x7fc9950062f0   140503764984560
rip            0x0      0x0
eflags         0x10286  [ PF SF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
info 回车查看帮助

(gdb) x/32 0x7fc995005b30
0x7fc995005b30: 0x00000000      0x00000000      0xffffffff      0xffffffff
0x7fc995005b40: 0x96e53d58      0x00007fc9      0x00000000      0x00000000
0x7fc995005b50: 0x00000075      0x00000000      0x00000000      0x00007fc9
0x7fc995005b60: 0x00000000      0x00000000      0x00ad9420      0x00000000
0x7fc995005b70: 0x00000002      0x00000000      0x0000000f      0x00007fc9
0x7fc995005b80: 0x00ad9425      0x00000000      0x00000000      0x00000000
0x7fc995005b90: 0x00000000      0x00007fc9      0x00000000      0x00007fc9
0x7fc995005ba0: 0x00000000      0x00007fc9      0x00000001      0x00000000
(gdb) x/32 0x7fc995006100
0x7fc995006100: 0x02dcd9ef      0x00000000      0x96e7f599      0x00007fc9
0x7fc995006110: 0xfbad8001      0xffffffff      0x02dcd9ef      0x00000000
0x7fc995006120: 0x02dcd9ef      0x00000000      0x02dcd9ef      0x00000000
0x7fc995006130: 0x02dcd9ef      0x00000000      0x02dcd9ef      0x00000000
0x7fc995006140: 0x02dce9df      0x00000000      0x02dcd9ef      0x00000000
0x7fc995006150: 0x02dce9df      0x00000000      0x00000000      0x00000000
0x7fc995006160: 0x00000000      0x00000000      0x00000000      0x00000000
0x7fc995006170: 0x00000000      0x00000000      0x00000000      0x00000000
(gdb) info thread
  Id   Target Id         Frame
  5    LWP 19779         0x00007fc996ef9413 in ?? ()
  4    LWP 19776         0x00007fc996ef9413 in ?? ()
  3    LWP 19777         0x00007fc997c006d5 in ?? ()
  2    LWP 19778         0x00007fc997c006d5 in ?? ()
* 1    LWP 19780         0x00007fc996e9bd5a in ?? () //当前 跑飞的线程

(gdb) thread
[Current thread is 1 (LWP 19780)] //只有一个id无法查看

在当前服务器shell下敲入:dmesg >>/zte/pds/dmesg.txt 然后打开查找19780的线程
找到这一行有用信息:[236445.233493] pdscpm[19780]: segfault at fffffff0 ip 00007fc996e9bd5a sp 00007fc995005b18 error 4 in libc-2.17.so[7fc996e0b000(进程的.SO装入地址)+1b7000(so长度)]
可以断言跑飞在libc-2.17.so中,
如何取当前跑飞行地址呢:
当前跑飞行地址(相对地址,是编译elf之前的地址未经过重定向,所以后面反汇编时不是用elf,而是用.SO) = 00007fc996e9bd5a - 7fc996e0b000 = 90D5A(跑飞行相对地址)

objdump -d  libc-2.17.so>>/zte/pds/libc-2.17.so.txt

vim libc-2.17.so.txt
0000000000090d40 <strchrnul>:
   90d40:       66 0f 6e ce             movd   %esi,%xmm1
   90d44:       48 89 f9                mov    %rdi,%rcx
   90d47:       66 0f 60 c9             punpcklbw %xmm1,%xmm1
   90d4b:       48 83 e7 f0             and    $0xfffffffffffffff0,%rdi
   90d4f:       66 0f ef d2             pxor   %xmm2,%xmm2
   90d53:       66 0f 60 c9             punpcklbw %xmm1,%xmm1
   90d57:       83 ce ff                or     $0xffffffff,%esi
   90d5a:       66 0f 6f 07             movdqa (%rdi),%xmm0   //跑飞行,通过上面最原始的跑飞信息看到rdi的值为0xfffffff0,这个地址应该对应的是bois地址。rdi寄存器值被修改
   90d5e:       66 0f 70 c9 00          pshufd $0x0,%xmm1,%xmm1
   90d63:       48 29 f9                sub    %rdi,%rcx
   90d66:       66 0f 6f d8             movdqa %xmm0,%xmm3
   90d6a:       48 8d 7f 10             lea    0x10(%rdi),%rdi
   90d6e:       66 0f 74 c1             pcmpeqb %xmm1,%xmm0
   90d72:       66 0f 74 da             pcmpeqb %xmm2,%xmm3
   90d76:       d3 e6                   shl    %cl,%esi
   90d78:       66 0f d7 d0             pmovmskb %xmm0,%edx
   90d7c:       66 0f d7 cb             pmovmskb %xmm3,%ecx
   90d80:       09 d1                   or     %edx,%ecx
   90d82:       21 f1                   and    %esi,%ecx
   90d84:       75 20                   jne    90da6 <strchrnul+0x66>
   90d86:       66 0f 6f 07             movdqa (%rdi),%xmm0
   90d8a:       48 8d 7f 10             lea    0x10(%rdi),%rdi
   90d8e:       66 0f 6f d8             movdqa %xmm0,%xmm3
   90d92:       66 0f 74 c1             pcmpeqb %xmm1,%xmm0
   90d96:       66 0f 74 da             pcmpeqb %xmm2,%xmm3
   90d9a:       66 0f d7 d0             pmovmskb %xmm0,%edx
   90d9e:       66 0f d7 cb             pmovmskb %xmm3,%ecx
   90da2:       09 d1                   or     %edx,%ecx
   90da4:       74 e0                   je     90d86 <strchrnul+0x46>
   90da6:       0f bc d1                bsf    %ecx,%edx
   90da9:       48 8d 44 17 f0          lea    -0x10(%rdi,%rdx,1),%rax
   90dae:       c3                      retq
   90daf:       90                      nop
  
  
 [root@iz8vbc7u89ns6vm0vwqm3bz lib64]# addr2line -e /usr/lib64/libc-2.17.so 90d5a -f
__strchrnul
:?  /*lib库编译的时没有增加编译选项,行数未打出来*/

#########################分析结束##############################


x/11bb 0x7f041405e995 //按byte格式显示11个字节

云环境下载apk:
将手机apk拷贝到10.42.205.228的目录C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs中,
然后再手机终端浏览器输入:http://192.168.15.228/1-5.apk进行下载


取发布版本地址:
ftp:10.42.205.3

echat55云服务器:
 主pds服务器:114.55.250.9
 备pds服务器:47.92.154.238(私有:172.26.108.137)
 MDS容灾服务器:47.92.159.106(私有:172.26.108.136)


版本安装英文转换成中文:
env | grep LANG查看中英文
cd /etc/
vi /etc/locale.conf
#LANG=en_US.UTF-8
LANG=zh_CN.UTF-8

source /etc/locale.conf
cd /home/installagent/
./killsetup.sh
./run.sh


主备容灾管理IE网页:http://caltta.com.cn/manage

安装完新版本,如果PHR进程没有起来,需要再db动态表里修改pds和phr的ip地址


[root@iz8vbc7u89ns6vm0vwqm3bz upm]# ll
鎬荤敤閲?6644
-rw-r--r-- 1 root root 5000028 6鏈? 22 16:30 division1.log
-rw-r--r-- 1 root root 1106413 6鏈? 23 09:36 division2.log
-rw-r--r-- 1 root root       1 6鏈? 23 09:31 division.ctl
-rw-r--r-- 1 root root  660728 6鏈? 23 09:36 pdsdb1.log
-rw-r--r-- 1 root root       1 6鏈? 23 09:31 pdsdb.ctl
[root@iz8vbc7u89ns6vm0vwqm3bz upm]# tail -f division2.log


查看线程:

[root@iz8vbc7u89ns6vm0vwqm3bz ~]# ps -aux | grep  pds
root      1662  0.1 27.4 3193808 2195152 ?     Sl   7月10   1:51 /zte/pds/pdscpm
root      1692  0.0  0.3 445468 26476 ?        Sl   7月10   0:29 /zte/pds/pdsupm
root      1755  0.0  0.0 245804  4832 ?        Sl   7月10   0:03 /zte/pds/pdsdbio


[root@iz8vbc7u89ns6vm0vwqm3bz ~]# pstree -p 1662
pdscpm(1662) ─┬─{pdscpm}(1665)
(1662是主线程)├─{pdscpm}(1666)
    ├─{pdscpm}(1667)
    ├─{pdscpm}(1668)
    ├─{pdscpm}(1670)
    ├─{pdscpm}(1671)
    ├─{pdscpm}(1672)
    ├─{pdscpm}(1673)
    ├─{pdscpm}(1674)
    └─{pdscpm}(1675)
    

pstack pid 查看主线程或其他线程函数栈

strace -o output.txt -T -tt -e trace=all -p 1662 /*所有系统调用输出到output.txt中去*/

测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。

/proc/meminfo 机器的内存使用信息

/proc/pid(进程号)/maps pid(进程号)为进程号,显示当前进程所占用的虚拟地址。

/proc/pid/statm 进程所占用的内存

71d6d000-71d8e000 rw-p 00000000 00:00 0                                  [heap]
71d8e000-72028000 rw-p 00000000 00:00 0                                  [heap]

71d6d000-71d8e000 rw-p 00000000 00:00 0                                  [heap]
71d8e000-72028000 rw-p 00000000 00:00 0                                  [heap]

脚本中引入环境变量:
. /etc/profile
. ~/.bash_profile

crontab自动运行脚本可能的失败原因:
1.脚本无法识别环境变量
2.脚本无法获取相对路径,脚本中调用脚本应该使用绝对路径


登陆mysql:
mysql -u root -p
SHOW DATABASES;
mysql> USE echat;
SHOW TABLES;
select * from phr_fleet;
select * from phr_fleet where nFID = 33;/*条件查询*/
select * from phr_fleet where nFID=4 AND cFleetName="ztefleet";/*复合条件查询*/

update ofuser set name = 'zhuweitest0000',creationDate = '00000',modificationDate = modificationDate,fleet_id = '0000' where username = 'admin';

查看mysql后台文件存在位置:show variables like '%dir%';

   
   


猜你喜欢

转载自blog.csdn.net/m0_37570820/article/details/79457734
今日推荐