cmpp账号cmpp账号,cmppserver优先级、cmpp优先级:
现在我写一个脚本,截取营销cmppserver账号,然后以固定的格式追加到一个文件里面,海哥给我一个办法就是:先cp一份草稿,在草稿里面去添加,看行不行,给海哥看一看,若行,就直接mv替换就行了,简直就是屌爆了
首先将cmpp优先级配置文件里面的true改为false:
cat log4j.properties_caogao | grep true看有没有不相关的,重不重要,不重要的话执行下面的替换
sed -i -r 's@true@false@g'/usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao
cat /usr/local/zykj/zykjcmppserver/config/cfg.xml
这个里面的sourceAddr就是cmpp账号了
# 需要有目录:/tmp/litaoDir/cmpp
# 不要直接改源文件,不然执行有时间延迟,先搞一个草稿,并对源文件备份一次
cp /usr/local/zykj/zykjcmppserver/config/log4j.properties/usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao
cp /usr/local/zykj/zykjcmppserver/config/log4j.properties/usr/local/zykj/zykjcmppserver/config/log4j.properties-`date '+%Y%m%d_%H%M'`
cat /usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao
# 判断有哪些cmpp账户已经做了cmpp优先级的配置:
# 将cmpp优先级的配置文件里面的账户截取出来放到一个文件里
cat/usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao | grep"additivity" | grep -v "cmpp" | awk -F "."'{print $3}' | awk -F "=" '{print $1}' >/tmp/litaoDir/cmpp/cmppCount_log4j.txt
# 将cmpp主配置文件里面的所有账户截取出来放到一个文件里
cat /usr/local/zykj/zykjcmppserver/config/cfg.xml | awk -F"sourceAddr=" '{print $2}' | awk -F \" '{print $2}' | sort -r |tr -s "\n\n" "\n" | sort -n > /tmp/litaoDir/cmpp/cmppCount_main.txt
将这两个文件合起来一起看:
cat /tmp/litaoDir/cmpp/cmppCount_log4j.txt/tmp/litaoDir/cmpp/cmppCount_main.txt
去重并统计,前面是1的说明没有写在cmpp优先级配置文件里面,前面是3的说明cmpp优先级的配置文件里面肯定有重复的问题:
cat /tmp/litaoDir/cmpp/cmppCount_log4j.txt/tmp/litaoDir/cmpp/cmppCount_main.txt | sort | uniq -c
只截取前面是1的
cat /tmp/litaoDir/cmpp/cmppCount_log4j.txt/tmp/litaoDir/cmpp/cmppCount_main.txt | sort | uniq -c |grep " 1 " |awk '{print $2}'
# 最后将没有写到cmpp优先级配置文件的账户追加到cmpp优先级配置文件里面去:
for i in `cat /tmp/litaoDir/cmpp/cmppCount_log4j.txt/tmp/litaoDir/cmpp/cmppCount_main.txt | sort | uniq -c |grep " 1 " |awk '{print $2}'`;do echo -e"\n#\nlog4j.additivity.${i}=false\nlog4j.logger.${i}=debug,${i}Append\nlog4j.appender.${i}Append=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.${i}Append.File=log/${i}.log\nlog4j.appender.${i}Append.layout=org.apache.log4j.PatternLayout";echo"log4j.appender.${i}Append.layout.ConversionPattern=[%d][%p][%t]%c\:%L %m\r\n";done >>/usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao
# 替换原来的源文件
mv/usr/local/zykj/zykjcmppserver/config/log4j.properties_caogao/usr/local/zykj/zykjcmppserver/config/log4j.properties
上面的已经写成了脚本,在“提交感想”的记事本里面搜索“cmppserver优先级、cmpp优先级”
将上面写入到cmpp优先级配置文件的脚本放到开cmpp账户python里面去调用
python怎么调用shell脚本?
在“李涛掌游”自学python里面有提到
海哥提出的想法很好:将开CMPP账户这个操作做成网页的形式
做第四个程序;
第四个程序:physicalCard
问需不需redis,结果不需要redis
掌游智能物联网卡信息管理平台V1.0(在86服务器上,程序名叫physicalCard,位置在tomcat7c的webapps里面),超哥说这次就把程序放到tomcat的webapps里面,超哥说你现在还没弄清楚我们的平台网页呀,你看tomcat配置文件里面就能知道我们所有的网站在哪了
配置文件有哪些:还是在WEB-INFO的classes里面的appcfg配置文件
访问86的物联网卡的地址是什么:
那么我的网址应该是:
192.168.1.74:8080/physicalCard/employee/login.do
1、将项目拷贝上去
2、tomcat配置文件里面添加
<Contextpath="/physicalCard/download/" reloadable="true"docBase="/usr/local/tomcat6/webapps/physicalCard/download/"/>
<Contextpath="/physicalCard/upload/" reloadable="true"docBase="/usr/local/tomcat6/webapps/physicalCard/upload/"/>
<Contextpath="/physicalCard/demo" reloadable="true"docBase="../webapps/physicalCard/demo/"/>
3、数据库的数据结构导入、基础数据导入
问题:用户名和密码的表是哪个?
去86的pcard数据库将zyjs的导出来:
INSERT INTO"CARD"."T_EMPLOYEE" ("ID", "NAME","USER_NAME", "PASSWORD", "DEPARTMENT","EMAIL", "QQ", "MOBILE", "TEL","CREATE_USER", "CREATE_TIME", "UPDATE_USER","UPDATE_TIME", "DELETE_FLAG", "CUSTOMER_ID","ATTR_STR1", "ATTR_STR2", "ATTR_STR3","ATTR_STR4", "ATTR_STR5", "ATTR_STR6","ATTR_STR7", "ATTR_STR8", "ATTR_NUM1","ATTR_NUM2", "ATTR_NUM3", "ATTR_NUM4","ATTR_NUM5", "TEMP") VALUES ('1', 'zyjs', 'zyjs','7D7276013B9DB74463C61362B88E501C', '6', NULL, NULL, NULL, NULL, NULL, NULL,NULL, NULL, '0', '0', '1', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL,NULL, NULL, NULL, '0');
账号zyjs,密码zyjs123
我发现一个问题:在我的physicalCard网页里面的“新增用户”里面没有部门,所以新增不了,怎么办?
答:需要在数据库的这个表了里面导入基础数据,同样在86的physicalCard里面去导出来
4、要不要去掉按钮?
测试点了没有,日志出错再看
“添加告警”按钮没有选项选择,同样需要导入基础数据,去86的表里面把数据转换为sql语句,导入到我自己的这个表里就行了
附录有用的:
数据库用户是card
数据库密码是jwms2pCfqRd5
测试页面用户名是test,密码是testtopup7
注意这次是把程序放到tomcat里面的webapps目录下
打包需用户体验:
vim/usr/local/tomcat6/webapps/physicalCard/WEB-INF/classes/appcfg.properties
数据恢复演练;尝试百度搜索怎么将oracle备份出来的.dmp文件导入到oracle数据库中去?
1.1、将表导出(虽然也可以直接用海哥教的办法):
将数据库中的表inner_notify、notify_staff_relat导出
expaichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmptables=(inner_notify,notify_staff_relat)
自己尝试:exppcard/Vz5dBktsnrQOzYXM@sms file="/u03/pcard_admin"tables=T_SMS_ADMIN_INFO
可以成功生成/u03/pcard_admin.dmp文件
1.2、将表导入
将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入,在后面加上 ignore=y 就可以了。
自己尝试:imppcard2/Vz5dBktsnrQOzYXM@sms file="/u03/pcard_admin.dmp" full=yignore=y
成功了
2.1、将数据库TEST完全导出
expsystem/manager@TEST file=d:\daochu.dmp full=y
自己尝试:exp pcard/Vz5dBktsnrQOzYXM@smsfile="/u03/pcard_all" full=y
2.2、将D:\daochu.dmp 中的数据全部导入 TEST数据库中:
impsystem/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入,在后面加上 ignore=y 就可以了:
imp aichannel/aichannel@TEST full=y file=d:\data\newsmgnt.dmp ignore=y
自己尝试:imppcard2/Vz5dBktsnrQOzYXM@sms file="/u03/pcard_all.dmp" full=y ignore=y
结果发现全库的全库恢复行不通,但是全库的指定的表恢复能行,解决办法:在navicat里面右键表,有导出向导和导入向导,简直就是屌爆了,结果发现导出的是0kb的,我去,这个navicat里面右键表导出向导是个骗子,然后我又发现还可以右键用户名,转储SQL文件-结构和数据,这个应该可以的,哇,导出的是.sql文件,需要打开方式为notepad++,不然会出现乱码,然后复制里面的内容到查询编辑器上,执行就ok了,结果发现还是不行,导出没问题,导入完毕后还是空的,没有表,我去,我仿佛又被navicat的右键骗了,后来我注意到了,原因是用户名不对,需要对导出来的.sql文件进行处理才行,具体实施步骤请见“李涛掌游- oracle数据库导出导入的那些事儿(oracle全备).docx”
2.3、将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
自己尝试:imppcard3/Vz5dBktsnrQOzYXM@sms file="/u03/pcard_all.dmp"tables=T_SMS_ADMIN_INFO ignore=y buffer=819200
报错IMP-00033: 警告: 在导出文件中未找到表"T_SMS_ADMIN_INFO"
百度还是厉害啊,解决了:imppcard3/Vz5dBktsnrQOzYXM@sms file="/u03/pcard_all.dmp" fromuser=pcardtouser=pcard3 tables="T_SMS_ADMIN_INFO" ignore=y buffer=819200
提示:full=y代表全部;用户名/密码@远程的IP:端口/实例;停掉数据库是shutdown immediate,停掉之后navicat里面也会断掉,需要重新连接
全备的话,刘超超会搞,用的是PL/SQL软件(但是这只是表空间的全备,而没有基础数据),我现在要搞的就是解决这个问题:一定要解决的问题就是:
这个只是导出的表结构,没有基础数据
问刘超怎么导出数据?PL/SQL里面工具-导出用户对象,就可以导出表结构了
目前我能想到全备的方法就是:
导出表结构和序列:在PL/SQL里面工具,导出用户对象
导出基础数据:在navicat里面导出向导为sql文件,而且要导入到相同文件夹,而不是相同文件,不然最后是0kb的,然后去那个文件夹下面按大小排序,不是0kb的说明有数据,统计在一个文本里面然后执行,注意打开的方式要以notepad++来打开,否则会有乱码
oracle备份、备份备份备份、oracleoracle
偶然发现的全备(表结构和基础数据一起)或“只导表结构”屌炸天的方法,简直就是帅呆了、酷毙了,简直无法比喻了:
在navicat里面:右键用户名,转储SQL文件-结构和数据,这个应该可以的,哇,导出的是.sql文件,需要打开方式为notepad++,不然会出现乱码,然后复制里面的内容到查询编辑器上,执行就ok了,结果发现还是不行,导出没问题,导入完毕后还是空的,没有表,我去,我仿佛又被navicat的右键骗了,后来我注意到了,原因是用户名不对,需要对导出来的.sql文件进行处理才行,具体实施步骤请见“李涛掌游- oracle数据库导出导入的那些事儿(oracle全备).docx”
notepad++可以使用正则匹配关键词删除关键词所在的行
具体实施步骤请见“李涛掌游 - oracle 数据库导出导入的那些事儿 (oracle 全备 ).docx ”