博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统比对脚本[inststuff.pl](转)
阅读量:2449 次
发布时间:2019-05-10

本文共 2493 字,大约阅读时间需要 8 分钟。

操作系统比对脚本[inststuff.pl](转)[@more@]

  #!/usr/bin/perl -w

  ###########################################################################

  # Global definitions

  ###########################################################################

  use Getopt::Long;

  $rsync="/usr/local/bin/rsync";

  $ssh="/usr/local/bin/ssh";

  $rsync_cmd="$rsync -Rapzq --partial -e $ssh";

  ###########################################################################

  # Check for help request. Display help page if --help/-h/-? was passed.

  ###########################################################################

  sub help_page {

  my $programname = $0;

  $programname =~ s#^./##;

  print "$programname - . ";

  print " Usage: $programname ";

  exit 1;

  }

  sub GetParas

  {

  my ($argv);

  

  $argv = join(,@ARGV);

  $argv = join(,@ARGV);

  &help_page if ( $argv eq "" || $argv =~ m!-h! );

  GetOptions("d:s");

  if ($opt_d eq "")

  {

  &help_page;

  exit(1);

  }

  return ($opt_d);

  }

  sub Env{

  if ($> != 0)

  {

  print (" The command need root permission! ");

  exit(1);

  }

  }

  ###########################################################################

  #Main routine

  ###########################################################################

  sub main

  {

   my $help = grep(/^--help$/, @ARGV) || grep (/^-h$/, @ARGV) || grep (/^-?$/, @ARGV) || 0;

   help_page() if $help;

   #check user uid

   &Env;

  

   my $dirs=&GetParas;

  #remove file from localhost

  if (-e "$dirs/delfilelist")

  {

  foreach $removefile (`cat $dirs/delfilelist`)

  {

  chomp($removefile);

  if (-e "$removefile")

  {

  print "---remove---$removefile ";

  system("$rsync_cmd "$removefile" $dirs/del/");

  system("mv "$removefile" "$dirs/del$removefile" 2>/dev/null");

  }

  }

  }

  

   #copy newfile to localhost

   if (-e "$dirs/addfilelist")

   {

   foreach $filename (`cat $dirs/addfilelist`)

   {

   chomp($filename);

   chdir("$dirs/filedir");

   if(! $filename eq "")

   {

   print "---add---$filename ";

   system("$rsync_cmd .$filename /");

   }

   }

   }

  

  

   #update localhost file

   if (-e "$dirs/updatefilelist")

   {

   foreach $updatefile (`cat $dirs/updatefilelist`)

   {

   chomp($updatefile);

   chdir("$dirs/filedir");

   if ( -e "$updatefile" )

   {

   print "---update---$updatefile ";

   system("$rsync_cmd .$updatefile /");

   }

   }

   }

  }

  &main

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-965597/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-965597/

你可能感兴趣的文章
normal forms_使用Google Forms轻松创建基于Web的调查
查看>>
sql2012 ssrs_如何在SQL Server并行数据仓库中处理SSRS多值参数过滤
查看>>
使用Azure Data Studio在Docker容器上使用SQL Server 2017进行备份和还原操作
查看>>
使用sql语句生成报表_SQL Server报表服务:如何使用报表生成器处理常见的最终用户要求
查看>>
如何使用SQL Server 2016系统版本的时态表跟踪数据更改的历史记录
查看>>
ssis zip压缩文件_SSIS平面文件与原始文件
查看>>
iif sql_SQL IIF语句概述
查看>>
mekko 教程_Power BI桌面Mekko图表
查看>>
SQL Server数据库快照
查看>>
sql 时态表的意义_SQL Server中的时态表
查看>>
activiti 功能概述_子串功能概述
查看>>
SQL Server中的执行计划
查看>>
power bi 背景图_Power BI桌面脉冲图
查看>>
使用C#脚本扩展Biml
查看>>
exec sql_EXEC SQL概述和示例
查看>>
sql中聚合函数和分组函数_学习SQL:聚合函数
查看>>
索引sql server_维护SQL Server索引
查看>>
sql rank_SQL RANK功能概述
查看>>
保存您SQL执行计划
查看>>
filetable_SQL Server FILETABLE用例
查看>>