一个用于上传程序的小脚本

| 暂无评论 | 暂无引用通告

-->

程序需要经常更新,每次手动键入命令太难受,将操作过程写成脚本,方便又快捷。

具体过程如下:

首先从文件服务器中取得程序文件(zip压缩),copy到本地,解压,更改其数据库配置文件,打包,父进程分叉(需要上传至多台服务器)子进程将程序包上传至服务器。

脚本中的外部命令太多了,呵呵,实用就行,完全用perl的模块来完成有点太麻烦了!

 

#!/usr/bin/perl -w
use strict;

my $projectname=shift;
my $projectzip="${projectname}.war.zip";
my $projectgz="${projectname}.tgz";
my $projectwar="${projectname}.war";
print "清理过时文件\n";
`cd /tmp;rm -rf ${projectname}*`;
print "将文件copy到本机/tmp目录并解压 ";
`cd /tmp;scp fileserver:/data/$projectzip .;unzip $projectzip`;
print "更改数据库配置文件 ";
`/bin/cp /root/jbosswebapp/${projectname}.xml /tmp/${projectwar}/WEB-INF/classes/applicationContext-resources.xml`;
print "将项目打包 ";
`cd /tmp;tar zcvf $projectgz $projectwar`;
foreach my $host (qw(rs1 rs2 rs3 rs4)){
        if(fork){
                print "我是父进程我在进行分叉 ";
        }else{
                print "将$projectgz上传到主机$host上 ";
                if(`cd /tmp;cat $projectgz |ssh $host "cd /usr/local/jboss/server/default/deploy/;rm -rf $projectwar;tar zxpvf -" >/dev/null`){
                        print "文件未能上传至主机$host\n";
                }else{
                        print "文件已经上传至主机$host\n";
                }
                exit;
        }
}
 

暂无引用通告

发送引用通告网址: http://supersun.info/mt/mt-tb.cgi/634
如果您想引用这篇日记到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

最新资源

  • IMG_1437.JPG
  • line.png
  • bar.png
  • perl_calander.jpg

关于此日记

此日记由 supersun 发表于 2007年6月14日 15:13

此Blog上的上一篇日记最初的梦想--范玮琪

此Blog上的下一篇日记开启win2000的远程桌面功能

首页归档页可以看到最新的日记和所有日记。