论坛首页 综合技术论坛

cognos windows 向linux转移(2) TR1102 TR3602

浏览 2333 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-03-07  

  #(TR1102) Transformer detected a model error at line 17907 in file


#(TR3602) The cube file name or path contains illegal characters.

 

 

在TS中,将CUBE的路径去掉,只保存cube的名称即可!

 

 

 

suse  linux   下的一些命令(主要用来准备自动批量发布CUBE,收集的一点shell命令资料) qq:331932672

 

核心

vi script.sh

chmod 777 script.sh

 

cd /opt/ibm/cognos/c10/bin/

mdl_name=$1

export LC_ALL=zh_CN.gbk

/opt/ibm/cognos/c10/bin/cogtr -c -s -dLogFileName=logfile.log -m/soft/java/model/$mdl_name -dDataWorkDirectory=/soft/java/model/tmp -DModelWorkDirectory=/soft/java/model/tmp -dCubeSaveDirectory=/soft/java/model/cube -dLogFileDirectory=/soft/java/model/log -dDataSourceDirectory=/soft/java/model/data -dModelSaveDirectory=/soft/java/model/data -lrepdb2=0/0

exit 0
~                                                                                                                                            
~               

 

ps -ef | grep RMI

kill -9 7912

PWD

free -m

df -h

tail -f

su - use

wft state

more script.sh

find

cat

chown root java

export

find ./ -name "*.mdl"

du

sf

locale

crontab -l
crontab -r
crontab -e
date

rm
echo $

chmod 777 *

mkdir

uname

tar

ftp IP

tar -xzvf bi*.gz ./transformer

sh

rcmdcall

vi

./script.sh initmdl/db/***.mdl

 tail -f /soft/java/model/log/logfile.log


tail -f
export JAVA_HOME=/soft/java/jre

cd /opt/ibm/cognos/c10/bin/cogconfig.sh

cd /opt/ibm/cognos/c10/bin/

cd /opt/soft/java/model/shell/ll.sh

chmod 755 11.sh

 

:<<BLOCK
....被注释的多行内容

LogFileDirectory=/soft/java/model/log/
ModelSaveDirectory=/soft/java/model/data/
DataSourceDirectory=/soft/java/model/data/
CubeSaveDirectory=/soft/java/model/cube/
DataWorkDirectory=/soft/java/model/tmp
ModelWorkDirectory=/soft/java/model/tmp/


cd /soft/java/model/
shell/script.sh  initmdl/db/**.mdl


find -name "*.mdl"
./initmdl/db/**.mdl
……

sleep 5 #等待5秒

ps -ef | grep cogtr | wc -l #此方法会返回cogtr 当前能够处理并发处理请求个数

#打印出当前的cogtr 进程:grep cogtr

 

cat  /soft/java/model/log/logfile.log

 tail -f /soft/java/model/log/logfile.log
BLOCK

 

mdl_name=$1

export LC_ALL=zh_CN.gbk

/opt/ibm/cognos/c10/bin/cogtr -c -s -dLogFileName=logfile.log -m/soft/java/model/$mdl_name -dDataWorkDirectory=/soft/java/model/tmp -DModelW
orkDirectory=/soft/java/model/tmp -dCubeSaveDirectory=/soft/java/model/cube -dLogFileDirectory=/soft/java/model/log -dDataSourceDirectory=
/soft/java/model/data -dModelSaveDirectory=/soft/java/model/data -lrepdb2=0/0

exit 0

 


#
如果是查看线程的数量,就必须使用pstree -a命令了,有的程序是以线程运行的,比如apache即可以工作在进程(perfork)模式下也可以工作在线程(worker)模式下

在维护Linux系统的时候经常需要查看服务的进程数量,下面以查看nginx进程为例:

1、[root@localhost ~]# pstree -a | grep cogtr|grep -v "grep"|wc -l

-a参数是展开子进程,grep -v "grep"  是去掉结果中带有grep的这一行

 


04.#调用关闭jboss进程脚本 
05.stopMethodServer.sh 
06. 
07.#打印出当前的jboss进程:grep jboss查询的jboss进程,grep -v "grep" 去掉grep进程 
08.jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"` 
#grep -v "grep"  是去掉结果中带有grep的这一行
09.echo $jmsThread 
10. 


11.#查询jboss进程个数:wc -l 返回行数 
12.count=`ps -ef | grep gdms | grep jboss | grep -v "grep" | wc -l` 
13.echo $count 
14. 
15.sec=60  
#设置60秒 
16.#开始一个循环,以判断进程是否关闭 
17. 
18.for var in 1 2 
19.do 
20.  if [ $count -gt 0 ]; then 
21.    #若进程还未关闭,则脚本sleep几秒 
22.    echo sleep $sec second the $var time, the JMS thread is still alive 
23.    sleep $sec 
24.  else 
25.    #若进程已经关闭,则跳出循环 
26.    echo "break" 
27.    break 
28.  fi 
29.done 
30. 

-------------------------------------------------------------
请用shell写个脚本,当apache的进程数大于10的时候发邮件给运维部
#!/bin/bash
count=`ps -ef | grep [a]pache | wc -l`
if [ $count -gt 10 ]; then
mail -s 标题 mail@address.net <<!!
内容
.
!!
fi
###################
说明一下,count计算的时候,grep后面改成你真正的apache的进程名,[a]pache首字母加了个方括号是为了防止把grep本身的进程数也算进去。mail后面的标题,地址和内容改成你自己需要的内容。在内容的后面那个.不要漏掉。count=后面的引号是键盘上数字1左边那个重音符号,而不是单双引号那个引号。这个脚本有个前提,你本机的sendmail服务是可用的,否则这个脚本是发不出邮件的。至于sendmail服务,那就是另外的话题了。需要配置的话请google一下。

 

 


-------------------------
#详细列出(字符且项数不多)
for File in 1 2 3 4 5
do
    echo $File
done


#对存在的文件进行循环
for shname in `ls *.sh`
do
          name=`echo "$shname" | awk -F. '{print $1}'`          
          echo $name
done

#((语法循环--有点像C语法,但记得双括号
for((i=1;i<100;i++))
do
    if((i%3==0))
    then
        echo $i
        continue
    fi
done

#从配置文件读取,并可以控制进程数量
MAX_RUN_NUM=8
cat cfg/res_card_partition.cfg |grep -v '^$'|grep -v "#" | grep -v grep |while read partition
do       
                nohup sh inv_res_card_process.sh $partition >log/resCard$partition.log 2>&1 &              
                while [ 1 -eq 1 ]
                do
                                psNum=`ps -ef | grep "inv_res_card_process" | grep -v "grep" | wc -l`
                                if [ $psNum -ge $MAX_RUN_NUM ]
                                then
                                              sleep 5
                                else
                                              break
                                 fi                                       
                done               
done


# 三.循环控制语句
# break 命令不执行当前循环体内break下面的语句从当前循环退出.
# continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行
在shell中常用的是 for i in $(seq 10)

for i in *.txt

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics