PageRenderTime 53ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 1ms

/wcwp/inc/all_shell_functions.ksh

http://wcwp.googlecode.com/
Korn Shell | 660 lines | 475 code | 97 blank | 88 comment | 48 complexity | 7d8e69439c9bd6921671b3c64accaf7c MD5 | raw file
Possible License(s): BSD-2-Clause, AGPL-1.0
  1. splfile(){
  2. #function:split large file
  3. #author:panzhiwei
  4. #run:splfile [filename] [linecount]
  5. #example:splfile s_13100_201102_21003_00_001 7500000
  6. if [ $# -ne 2 ];then
  7. echo splfile [filename] [linecount]
  8. return 2
  9. fi
  10. #?????????(????)
  11. filename=$1
  12. linecount=$2
  13. #????????
  14. file_name_=`echo ${filename} |awk '{print substr($1,1,length($1)-1)}'`
  15. #backup
  16. if [ -f ${filename}.dat ];then
  17. echo ...backup ${filename}.dat to ${filename}.bak...
  18. mv ${filename}.dat ${filename}.bak
  19. else
  20. echo no such file : ${filename}.dat
  21. return 2
  22. fi
  23. #??
  24. echo ...spliting...
  25. split -$linecount ${filename}.bak
  26. echo ...split complete!
  27. seq_no=1
  28. #rename
  29. for split_unit in `ls xa*`
  30. do
  31. echo ...rename $split_unit to $file_name_$seq_no.dat
  32. mv $split_unit $file_name_$seq_no.dat
  33. seq_no=`expr $seq_no + 1`
  34. if [ $seq_no -gt 9 ];then
  35. echo ...is the file that large? check it!
  36. return 2
  37. fi
  38. done
  39. ls -lrt $file_name_*dat
  40. echo ...all complete!
  41. }
  42. ###################################################################################
  43. export PATH=$PATH:/bassapp/bass2/panzw2/bin
  44. base_dir=/bassapp/bass2/panzw2
  45. alias lt='ls -alrt'
  46. alias llog='$base_dir/ViewLoadLog_testdb.sh'
  47. alias conn='db2 terminate;db2 connect to bassdb'
  48. #alias term='db2 terminate'
  49. alias tf='tail -f nohup.out'
  50. alias gol='cd /bassapp/bass2/load/boss'
  51. alias goif='cd /bassapp/bass2/ifboss'
  52. alias vipr='vi /bassapp/bass2/panzw2/.profile'
  53. alias pzh='cd /bassapp/bass2/panzw2'
  54. #alias desc='db2 describe table '
  55. alias gocrm='cd /bassapp/bass2/ifboss/crm_interface/bin/config/CRM'
  56. alias gocfg='cd /bassapp/bass2/ifboss/crm_interface/bin/config/'
  57. LANG=zh_CN.GBK
  58. export LANG
  59. # This is the default standard profile provided to a user.
  60. # They are expected to edit it to meet their own needs.
  61. MAIL=/usr/mail/${LOGNAME:?}
  62. PATH=$PATH:/usr/local/bin:/usr/ccs/bin/:.
  63. export PATH
  64. # The following three lines have been added by UDB DB2.
  65. if [ -f /db2home/db2inst1/sqllib/db2profile ]; then
  66. . /db2home/db2inst1/sqllib/db2profile
  67. fi
  68. stty erase '^H'
  69. # Config Tcl env
  70. DATABASE=db2
  71. DB_USER=BASS2
  72. AIOMNIVISION=/bassapp/tcl/aiomnivision
  73. PATH=$PATH:$AIOMNIVISION/aitools/bin:.
  74. LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$AIOMNIVISION/aitools/lib
  75. AITOOLSPATH=$AIOMNIVISION/aitools
  76. AGENTTRACEDIR=$HOME/trace
  77. AGENTLOGDIR=$HOME/log
  78. CLASSPATH=/bassapp/bass2/ifboss/crm_interface/lib/ojdbc14.jar
  79. export DATABASE DB_USER AIOMNIVISION PATH LD_LIBRARY_PATH AITOOLSPATH AGENTTRACEDIR AGENTLOGDIR CLASSPATH
  80. #?????????
  81. TBS_VOICE=TBS_CDR_VOICE
  82. TBS_DATA=TBS_CDR_DATA
  83. TBS_3H=TBS_3H
  84. TBS_BILL=TBS_BILL
  85. TBS_ODS_OTHER=TBS_ODS_OTHER
  86. TBS_DIM=TBS_DIM
  87. TBS_INDEX=TBS_INDEX
  88. TBS_APP_OTHER=TBS_APP_OTHER
  89. TBS_PSO=TBS_PSO
  90. TBS_USER_TEMP=TBS_USER_TEMP
  91. TBS_WEB=TBS_BASS_WEB
  92. TBS_BASS_MINER=TBS_BASS_MINER
  93. TBS_ST=TBS_ST
  94. TBS_CDR_OTHER=TBS_CDR_DATA
  95. export TBS_CDR_OTHER TBS_VOICE TBS_DATA TBS_3H TBS_BILL TBS_ODS_OTHER TBS_DIM TBS_INDEX TBS_APP_OTHER TBS_PSO TBS_USER_TEMP TBS_WEB
  96. TBS_BASS_MINER TBS_ST
  97. alias ll='ls -l'
  98. alias conn='db2 terminate;db2 connect to bassdb user bass2 using bass2'
  99. #############################################
  100. ######### TOP Software ###################
  101. if [ -d /usr/local/bin ]
  102. then
  103. PATH=${PATH}:/usr/local/bin
  104. fi
  105. #############################################
  106. kpi=/bassapp/bass2/tcl/KPI/BIPlatform/appdw
  107. export kpi
  108. LANG=zh_CN.GBK
  109. export LANG
  110. USER=`who am i|awk '{print $1}'`
  111. export USER
  112. EDITOR=vi;export EDITOR
  113. #add for java crm_interface
  114. CLASSPATH=.:/bassapp/bass2/ifboss/crm_interface/lib/ojdbc14.jar
  115. export CLASSPATH PROPERTY_PATH
  116. ###################################################################################
  117. ifconn(){
  118. db2 values 1 > /dev/null
  119. if [ $? -ne 0 ];then
  120. conn > /dev/null
  121. echo now connected
  122. else
  123. echo connected
  124. fi
  125. }
  126. conn(){
  127. term
  128. my_pass=`${base_dir}/decode 0312004131`
  129. db2 connect to BASSDB user bass2 using ${my_pass} > /dev/null
  130. }
  131. conn56(){
  132. term
  133. my_pass=`${base_dir}/decode 0312004131`
  134. db2 connect to BASSDB56 user bass2 using ${my_pass} > /dev/null
  135. }
  136. term(){
  137. db2 terminate > /dev/null
  138. }
  139. desc(){
  140. db2 describe table $1
  141. }
  142. descf() { db2 describe table $1 | awk -F" " '{print $1}'
  143. }
  144. desf(){
  145. ifconn
  146. desc $1|\
  147. awk -F" " '{printf "\t%-20s\t%-20s\n" ,$1,$3"("$4")"}'|\
  148. sed -e '1,4d'|sed -e '$d'|sed -e '$d'|sed -e '$d'
  149. }
  150. dest(){
  151. ifconn
  152. desc $1|\
  153. nawk -F" " '{ if( $3 ~ /CHAR/ )
  154. {
  155. printf "\t%-20s\t%-20s\n" ,","$1,$3"("$4")";
  156. }
  157. else
  158. if( $3 ~ /DECIMAL/ )
  159. {printf "\t%-20s\t%-20s\n" ,","$1,$3"("$4","$5")";}
  160. else
  161. { printf "\t%-20s\t%-20s\n" ,","$1,$3; } }'|\
  162. sed -e '1,4d'|sed -e '$d'|sed -e '$d'|sed -e '$d'
  163. }
  164. desf1(){
  165. ifconn
  166. desc $1|\
  167. awk -F" " '{if( NR >= 6 ) {printf "\t%s\n" ,","$1} else {printf "\t%s\n" ," "$1}}'|\
  168. sed -e '1,4d'|sed -e '$d'|sed -e '$d'|sed -e '$d'
  169. }
  170. if [ `echo $0` != "ksh" ] ; then
  171. ksh
  172. fi
  173. if [ `echo $0` = "ksh" -o `echo $0` = "bash" ];then
  174. set -o vi
  175. fi
  176. #########
  177. #javaetl="java ETLMain 20101202 taskList_tmp_pzw.properties"
  178. gb(){
  179. target_table=$1
  180. dimension_field=$2
  181. echo "\n"
  182. echo "select ${dimension_field} , count(0) , count(distinct ${dimension_field} ) \r
  183. from ${target_table} \r
  184. group by ${dimension_field} \r
  185. order by 1 "
  186. echo "\n"
  187. }
  188. ###############################################################
  189. resset(){
  190. #function:??tcl??????????????
  191. unset i
  192. unset res
  193. unset rs_set
  194. rs_set="puts \$f \"\$"
  195. i=0
  196. while [ $i -lt $1 ]
  197. do
  198. if [ $i -lt 10 ];then
  199. res="result0$i"
  200. else
  201. res="result$i"
  202. fi
  203. echo " set $res [lindex \$p_row $i]"
  204. rs_set=${rs_set}"{"${res}"}\\\$\$"
  205. i=`expr $i + 1`
  206. done
  207. echo ${rs_set}"\""
  208. }
  209. #????????
  210. ReplaceAllSubStr()
  211. {
  212. echo $1 > sed$$.temp
  213. sReturnString=`sed 's/'$2'/'$3'/g' sed$$.temp`
  214. rm sed$$.temp
  215. echo $sReturnString
  216. return 1
  217. }
  218. crtab(){
  219. #?????
  220. #1.???????????????????????????????
  221. #2.?????????????
  222. tablename=""
  223. TABLE_NAME_TEMPLET=""
  224. TBSPACE=""
  225. INDEX_TBSPACE=""
  226. PARTITIONKEY=""
  227. TABLE_NAME_TEMPLET=$1
  228. DT=$2
  229. if [ $# -ne 2 ];then
  230. echo run script like :
  231. echo crt.sh DWD_NG2_A02025_YYYYMMDD 20101231
  232. return -1
  233. fi
  234. #TABLE_NAME_TEMPLET=DWD_NG2_A02025_YYYYMMDD
  235. #DT=20101231
  236. LEN=`echo $DT|awk '{print length($1)}'`
  237. if [ $LEN -eq 8 ];then
  238. tablename=`ReplaceAllSubStr $TABLE_NAME_TEMPLET 'YYYYMMDD' $DT`
  239. else
  240. if [ $LEN -eq 6 ];then
  241. tablename=`ReplaceAllSubStr $TABLE_NAME_TEMPLET 'YYYYMM' $DT`
  242. else
  243. echo tablename not set!
  244. return -1
  245. fi
  246. fi
  247. TBTMPLET=""
  248. db2 "select 'xxxxx',tabname from syscat.tables \
  249. where tabschema = 'BASS2' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  250. grep xxxxx|awk '{print $2}'|read TBTMPLET
  251. if [ -z $TBTMPLET ];then
  252. echo TBTMPLET not set!
  253. return -1
  254. fi
  255. TBSPACE=""
  256. db2 "select 'xxxxx',TBSPACE from syscat.tables \
  257. where tabschema = 'BASS2' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  258. grep xxxxx|awk '{print $2}'|read TBSPACE
  259. if [ -z $TBSPACE ];then
  260. echo TBSPACE not set!
  261. return -1
  262. fi
  263. INDEX_TBSPACE=""
  264. db2 "select 'xxxxx',INDEX_TBSPACE from syscat.tables \
  265. where tabschema = 'BASS2' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  266. grep xxxxx|awk '{print $2}'|read INDEX_TBSPACE
  267. if [ -z $INDEX_TBSPACE ];then
  268. echo INDEX_TBSPACE not set!
  269. return -1
  270. fi
  271. PARTITIONKEY=""
  272. db2 "select 'xxxxx', case when partkeyseq = 1 then colname else ','||colname end colname from syscat.columns \
  273. where tabschema = 'BASS2' and tabname = '${TABLE_NAME_TEMPLET}' and partkeyseq >= 1 order by partkeyseq"|\
  274. grep xxxxx|awk '{print $2}'|awk 'BEGIN{a=""}{for (i = 1; i <= NF; i++) a=a$1}END {print a}'|read PARTITIONKEY
  275. if [ -z $PARTITIONKEY ];then
  276. echo PARTITIONKEY not set!
  277. return -1
  278. fi
  279. sql="create table ${tablename} like ${TABLE_NAME_TEMPLET} in ${TBSPACE} index in ${INDEX_TBSPACE} partitioning key ( ${PARTITIONKEY} ) using hashing not logged initially "
  280. echo $sql
  281. #db2 $sql
  282. }
  283. crtab_ex(){
  284. #?????
  285. #1.???????????????????????????????
  286. #2.?????????????
  287. #rev log:2011-03-07 18:32:35 ??skm??
  288. tablename=""
  289. TABLE_NAME_TEMPLET=""
  290. TBSPACE=""
  291. INDEX_TBSPACE=""
  292. PARTITIONKEY=""
  293. TABLE_NAME_TEMPLET=$1
  294. DT=$2
  295. SKM=$3
  296. if [ $# -ne 3 ];then
  297. echo run script like :
  298. echo crt.sh DWD_NG2_A02025_YYYYMMDD 20101231 SKM
  299. return -1
  300. fi
  301. #TABLE_NAME_TEMPLET=DWD_NG2_A02025_YYYYMMDD
  302. #DT=20101231
  303. LEN=`echo $DT|awk '{print length($1)}'`
  304. if [ $LEN -eq 8 ];then
  305. tablename=`ReplaceAllSubStr $TABLE_NAME_TEMPLET 'YYYYMMDD' $DT`
  306. else
  307. if [ $LEN -eq 6 ];then
  308. tablename=`ReplaceAllSubStr $TABLE_NAME_TEMPLET 'YYYYMM' $DT`
  309. else
  310. echo tablename not set!
  311. return -1
  312. fi
  313. fi
  314. TBTMPLET=""
  315. db2 "select 'xxxxx',tabname from syscat.tables \
  316. where tabschema = '${SKM}' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  317. grep xxxxx|awk '{print $2}'|read TBTMPLET
  318. if [ -z $TBTMPLET ];then
  319. echo TBTMPLET not set!
  320. return -1
  321. fi
  322. TBSPACE=""
  323. db2 "select 'xxxxx',TBSPACE from syscat.tables \
  324. where tabschema = '${SKM}' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  325. grep xxxxx|awk '{print $2}'|read TBSPACE
  326. if [ -z $TBSPACE ];then
  327. echo TBSPACE not set!
  328. return -1
  329. fi
  330. INDEX_TBSPACE=""
  331. db2 "select 'xxxxx',INDEX_TBSPACE from syscat.tables \
  332. where tabschema = '${SKM}' and tabname = '${TABLE_NAME_TEMPLET}' "|\
  333. grep xxxxx|awk '{print $2}'|read INDEX_TBSPACE
  334. if [ -z $INDEX_TBSPACE ];then
  335. echo INDEX_TBSPACE not set!
  336. return -1
  337. fi
  338. PARTITIONKEY=""
  339. db2 "select 'xxxxx', case when partkeyseq = 1 then colname else ','||colname end colname from syscat.columns \
  340. where tabschema = '${SKM}' and tabname = '${TABLE_NAME_TEMPLET}' and partkeyseq >= 1 order by partkeyseq"|\
  341. grep xxxxx|awk '{print $2}'|awk 'BEGIN{a=""}{for (i = 1; i <= NF; i++) a=a$1}END {print a}'|read PARTITIONKEY
  342. if [ -z $PARTITIONKEY ];then
  343. echo PARTITIONKEY not set!
  344. return -1
  345. fi
  346. sql="create table ${tablename} like ${TABLE_NAME_TEMPLET} in ${TBSPACE} index in ${INDEX_TBSPACE} partitioning key ( ${PARTITIONKEY} ) using hashing not logged initially "
  347. echo $sql
  348. #db2 $sql
  349. }
  350. # db2look -d bassdb56 -i bass2 -w bass2 -z bass1 -t g_s_05001_month -e
  351. ##!/usr/bin/ksh
  352. getxlsdata(){
  353. if [ $# -ne 2 ];then
  354. echo "getxlsdata [inputfile] [yyyymm] "
  355. echo "step1:copy 28*p (?? 1-28,a-p) data,to ue,-?csv "
  356. echo "step2:format data 0.000,save as voice_yyyymm.csv "
  357. echo "step3:upload to unix /bassapp/bihome/panzw/tmp "
  358. echo "step4:run the following program! "
  359. echo "step5:re-paste -d "," to excel (do some checksum) "
  360. echo "step6:load data into tmp-table "
  361. echo "step7:insert data into g_s_05001_month/g_s_05002_month "
  362. echo "voice "
  363. echo "r1 change dir to /bassapp/bihome/panzw/tmp "
  364. echo "r2 from ???? to ???? "
  365. return 2
  366. fi
  367. inputfile=$1
  368. data_mon=$2
  369. tmp_voice_outputfile=fmt_voice_${data_mon}.tmp
  370. tmp_sms_outputfile=fmt_sms_${data_mon}.tmp
  371. voice_outputfile=load_voice_${data_mon}.txt
  372. sms_outputfile=load_sms_${data_mon}.txt
  373. #step1:copy 28*p (?? 1-28,a-p) data,to ue,->csv
  374. #step2:format data 0.000,save as voice_yyyymm.csv
  375. #step3:upload to unix /bassapp/bihome/panzw/tmp
  376. #step4:run the following program!
  377. #step5:re-paste -d "," to excel (do some checksum)
  378. #step6:load data into tmp-table
  379. #step7:insert data into g_s_05001_month/g_s_05002_month
  380. #voice
  381. #r1 change dir to /bassapp/bihome/panzw/tmp
  382. #r2 from ???? to ????
  383. nawk 'BEGIN{FS=",";OFS=","}{printf "%s,%s,%15d,%15d\n", $1,$2,$4*1000,$3*1000}' $inputfile >$tmp_voice_outputfile
  384. nawk 'BEGIN{FS=",";OFS=","}{printf "%s,%s,%15d,%15d\n", $5,$6,$8*1000,$7*1000}' $inputfile >>$tmp_voice_outputfile
  385. nawk 'BEGIN{FS=",";OFS=","}{printf "%s,%s,%15d,%15d\n", $9,$10,$12*1000,$11*1000}' $inputfile >>$tmp_voice_outputfile
  386. nawk -v v_mon=${data_mon} 'BEGIN{FS="\t";OFS=","}{print v_mon,v_mon,$3,$4,$5,$6,$7}' dim.txt > dim_voice.tmp
  387. paste -d "," dim_voice.tmp $tmp_voice_outputfile > $voice_outputfile
  388. #sms
  389. nawk 'BEGIN{FS=",";OFS=","}{if($14 != 0){printf "%s,%s,%15d,%15d\n", $14,$13,$16*1000,$15*1000}}' $inputfile >$tmp_sms_outputfile
  390. nawk -v v_mon=${data_mon} 'BEGIN{FS="\t";OFS=","}{print v_mon,v_mon,$3,$4,$5,$6}' dim_sms.txt > dim_sms.tmp
  391. paste -d "," dim_sms.tmp $tmp_sms_outputfile > $sms_outputfile
  392. #rm tmp files
  393. rm *.tmp
  394. #print result
  395. cat $voice_outputfile
  396. echo " \n"
  397. echo " \n"
  398. echo " \n"
  399. echo " \n"
  400. echo " \n"
  401. cat $sms_outputfile
  402. grep ",,," $sms_outputfile>/dev/null
  403. if [ $? -eq 0 ];then
  404. echo "generate data file with errors!"
  405. return 1
  406. fi
  407. db2 terminate
  408. db2 connect to BASSDB user bass2 using bass2
  409. echo db2 "delete from bass1.T_GS05001M where time_id = ${data_mon}"
  410. db2 "delete from bass1.T_GS05001M where time_id = ${data_mon}"
  411. echo db2 "load client from /bassapp/bihome/panzw/tmp/$voice_outputfile of del insert into bass1.T_GS05001M"
  412. db2 "load client from /bassapp/bihome/panzw/tmp/$voice_outputfile of del insert into bass1.T_GS05001M"
  413. echo db2 "delete from bass1.T_GS05002M where time_id = ${data_mon}"
  414. db2 "delete from bass1.T_GS05002M where time_id = ${data_mon}"
  415. echo db2 "load client from /bassapp/bihome/panzw/tmp/$sms_outputfile of del insert into bass1.T_GS05002M"
  416. db2 "load client from /bassapp/bihome/panzw/tmp/$sms_outputfile of del insert into bass1.T_GS05002M"
  417. db2 connect reset
  418. db2 terminate
  419. }
  420. test(){
  421. #????????????????????
  422. while [ true ]
  423. do
  424. alert_time=`date +%S`
  425. if [ ${alert_time} = "07" ];then
  426. g_d_recordlvl_sent_flag=0
  427. fi
  428. echo ${g_d_recordlvl_sent_flag}
  429. if [ ${g_d_recordlvl_sent_flag} -eq 0 ] ; then
  430. g_d_recordlvl_sent_flag=1
  431. echo "now g_d_recordlvl_sent_flag:" $g_d_recordlvl_sent_flag
  432. fi
  433. sleep 1
  434. done
  435. }
  436. getunixtime(){
  437. #????unixtimestamp
  438. if [ $# -ne 1 ];then
  439. echo "getmtime filename"
  440. exit
  441. fi
  442. in_file=$1
  443. if [ ! -f ${in_file} ];then
  444. echo "getmtime ?????? ${in_file} ???!!"
  445. return 1
  446. fi
  447. tcltimestamp=`echo "puts [file mtime ${in_file}]"|tclsh`
  448. echo $tcltimestamp
  449. return 0
  450. }
  451. getunixtime(){
  452. if [ $# -ne 1 ];then
  453. echo "getmtime filename"
  454. exit
  455. fi
  456. in_file=$1
  457. if [ ! -f ${in_file} ];then
  458. echo "getmtime ?????? ${in_file} ???!!"
  459. return 1
  460. fi
  461. tcltimestamp=`echo "puts [file mtime ${in_file}]"|tclsh|awk -F'\r' '{print $1}'`
  462. echo $tcltimestamp
  463. return 0
  464. }
  465. #getunixtime test.sh
  466. getunixtime2(){
  467. if [ $# -ne 0 ];then
  468. echo "getmtime"
  469. exit
  470. fi
  471. touchfile="./.getunixtime2$$"
  472. touch $touchfile
  473. in_file=$touchfile
  474. if [ ! -f ${in_file} ];then
  475. echo "getmtime ?????? ${in_file} ???!!"
  476. return 1
  477. fi
  478. tcltimestamp=`echo "puts [file mtime ${in_file}]"|tclsh|awk -F'\r' '{print $1}'`
  479. echo $tcltimestamp
  480. rm $touchfile
  481. return 0
  482. }
  483. #getunixtime test.sh
  484. test2(){
  485. #???????????g_d_recordlvl_sent_flag?????????????
  486. touch test.sh
  487. start_run_time=`getunixtime test.sh`
  488. start_num=`echo $start_run_time`
  489. while [ true ]
  490. do
  491. touch test.sh
  492. now_alert_time=`getunixtime test.sh`
  493. now_num=`echo $now_alert_time`
  494. #echo $start_num
  495. #echo $now_num
  496. #diffs=9
  497. diffs=`expr $now_alert_time - $start_run_time`
  498. #echo $diffs
  499. if [ $diffs -lt 60 ];then
  500. echo $diffs
  501. g_d_recordlvl_sent_flag=0
  502. fi
  503. echo $g_d_recordlvl_sent_flag
  504. #if [ ${alert_time} = "07" ];then
  505. # g_d_recordlvl_sent_flag=0
  506. #fi
  507. #echo ${g_d_recordlvl_sent_flag}
  508. # if [ ${g_d_recordlvl_sent_flag} -eq 0 ] ; then
  509. # g_d_recordlvl_sent_flag=1
  510. # echo "now g_d_recordlvl_sent_flag:" $g_d_recordlvl_sent_flag
  511. # fi
  512. sleep 5
  513. done
  514. }
  515. #test2
  516. test3(){
  517. #???????????g_d_recordlvl_sent_flag?????????????
  518. start_run_time=`getunixtime2`
  519. start_num=`echo $start_run_time`
  520. while [ true ]
  521. do
  522. now_alert_time=`getunixtime2`
  523. now_num=`echo $now_alert_time`
  524. #echo $start_num
  525. #echo $now_num
  526. #diffs=9
  527. diffs=`expr $now_alert_time - $start_run_time`
  528. #echo $diffs
  529. if [ $diffs -lt 60 ];then
  530. echo $diffs
  531. g_d_recordlvl_sent_flag=0
  532. fi
  533. echo $g_d_recordlvl_sent_flag
  534. #if [ ${alert_time} = "07" ];then
  535. # g_d_recordlvl_sent_flag=0
  536. #fi
  537. #echo ${g_d_recordlvl_sent_flag}
  538. # if [ ${g_d_recordlvl_sent_flag} -eq 0 ] ; then
  539. # g_d_recordlvl_sent_flag=1
  540. # echo "now g_d_recordlvl_sent_flag:" $g_d_recordlvl_sent_flag
  541. # fi
  542. sleep 5
  543. done
  544. }
  545. test3
  546. getunixtime2(){
  547. #sun os date ??? unixtimestamp , ?????????????????
  548. #?????? touch "." ????????????touch ????.
  549. if [ $# -ne 0 ];then
  550. echo "getmtime"
  551. exit
  552. fi
  553. touchfile="."
  554. touch $touchfile
  555. in_file=$touchfile
  556. if [ ! -d ${in_file} ];then
  557. echo "getmtime ?????? ${in_file} ???!!"
  558. return 1
  559. fi
  560. tcltimestamp=`echo "puts [file mtime ${in_file}]"|tclsh|awk -F'\r' '{print $1}'`
  561. echo $tcltimestamp
  562. return 0
  563. }