Mu博分享 http://blog.sciencenet.cn/u/ywmucn https://blog.nanomat.top/

博文

Rocks的Ganglia增加VASP进程查看

已有 6234 次阅读 2012-3-16 14:57 |个人分类:集群&PC&Code|系统分类:科研笔记

1.在/var/www/html/ganglia目录下新建目录 qst,并修改apache的权限(虽不太安全),
chmod u+w   /etc/sudoers
修改  /etc/sudoers
将 Defaults    requiretty  改为 #Defaults    requiretty
Defaults    env_keep =""COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
                        LS_COLORS MAIL PS1 PS2 QTDIR USERNAME
                        LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION
                        LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC
                        LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS
                        _XKB_CHARSET XAUTHORITY "
后面加入 SGE_ROOT  SGE_QMASTER_PORT SGE_EXECD_PORT ,使得使用sudo时,传递这些变量。


在 ## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
后面添加
apache  ALL=(ALL)      NOPASSWD: ALL 
(使apache可以无密码的以root执行)
然后  chmod u-w   /etc/sudoers
2.修改 /var/www/html/ganglia/templates/Rocks/cluster_extra.tpl文件
增加一行 <a href="./qst/qselect.php"><b>Process&nbsp;&nbsp;</b></a> |
3.在/var/www/html/ganglia下新建qselect.php,内容如下:
<html>
<head>
</head>
<div   vlign="middle"  align="center">
<ul  align="center">
<input type=button value='Mu Yuewen'onclick="window.location.href('qout.php?qname=mu')">
<input type=button value='Han Yan'onclick="window.location.href('qout.php?qname=han')">
<input type=button value='Ge Guixian' onclick="window.location.href('qout.php?qname=ge')">
</ul>
</htmL>
4.新建qout.php,内容如下
<?php
$qn=\$_REQUEST['qname'];
//读入外部变量
putenv("SGE_ROOT=/opt/gridengine");
putenv("SGE_QMASTER_PORT=536");
putenv("SGE_EXECD_PORT=537");
//增加SGE环境变量
shell_exec(" /usr/bin/sudo   /bin/bash qout.sh \$qn  >qlog.txt 2>&1");
//增加 2>&1 便于观察输出错误
?>
<html>
<head>
<meta HTTP-Equiv="Refresh" CONTENT="1; URL=qlog.txt">
</head>
</htmL>
5.新建qout.sh,如下
#!/bin/sh
if [ "\$#" == "1" ]  ; then
quser="\$1"
else
quser="mu"
fi
qst="\$SGE_ROOT/bin/lx26-amd64/qstat"


joblist=$(  \$qst -j \* | grep "job_number:"| awk '{print \$2 }' )
echo "************************************************************************************"
 \$qst  -u \$quser  | grep " r\|qw "
for jobid in \$joblist
do
jobowner=\$(  \$qst -j \$jobid | grep "owner: "| awk '{print \$2 }' )
if [ "\$jobowner" == "\$quser" ] ; then
jobname[\$jobid]=\$( \$qst -j \$jobid | grep "job_name: "| awk '{print \$2 }' )
jobdir[\$jobid]=\$(  \$qst -j \$jobid | grep "cwd: "| awk '{print \$2 }' )
statu=\$( \$qst  -u \$quser | grep "\$jobid" | awk '{print \$5 }' )
ncore=\$( \$qst | grep "\$jobid"  |awk '{ print \$9}' )
if [ "\$statu" == "r" ] ; then
echo "************************************************************************************"
echo "\$jobid   \${jobname[\$jobid]} \$ncore   \${jobdir[\$jobid]}"
echo
/var/www/html/ganglia/qst/outvasp.sh  \${jobdir[\$jobid]}
fi
fi
done


exit 0
6.新建 outvasp.php如下,
#!/bin/sh
qdir="$1"
if [ -e  \$qdir/OUTCAR ] ; then
grep "NELECT" \$qdir/OUTCAR |tail -1
  grep "TOTEN" \$qdir/OUTCAR |tail -1
  grep "energy  without entropy" \$qdir/OUTCAR |tail -1
  grep "mag"  \$qdir/OSZICAR |tail -1
grep "E-fermi" \$qdir/OUTCAR |tail -1
grep "number of bands    NBANDS" \$qdir/OUTCAR |tail -1
grep "pressure" \$qdir/OUTCAR |tail -1
grep "the point symmetry" \$qdir/OUTCAR |tail -1
grep "aborting loop because EDIFF is reached"  \$qdir/OUTCAR |tail -1
grep "g(Force)" \$qdir/OUTCAR |tail -1
 grep  "total drift"  \$qdir/OUTCAR |tail -1
grep "Iteration" \$qdir/OUTCAR |tail -1
grep " reached required accuracy" \$qdir/OUTCAR
grep "error" \$qdir/OUTCAR
else
/usr/bin/perl /var/www/html/ganglia/qst/nebef.pl \$qdir
fi
7.修改nebef.pl,
将 \$dir = cwd; 改为 my \$dir=shift @ARGV;


其它命令: 重启apache
/usr/sbin/apachectl restart
其它位置  /etc/php.ini  /etc/httpd/conf/httpd.conf

 

 



https://wap.sciencenet.cn/blog-588243-548362.html

上一篇:关闭wps和noteexpress进程
下一篇:Linux下删除本文件夹及子文件夹下的某文件
收藏 IP: 115.24.3.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 16:30

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部