免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1545 | 回复: 1
打印 上一主题 下一主题

自己写了个小脚本.用于生成chkconfig所使用的命令.详见正文 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-23 17:20 |只看该作者 |倒序浏览
在linux ,每次关闭服务,或者是修改服务,都比较麻烦.
都是从chkconfig --list整理
所以弄个小脚本 来生成chkconfig的命令.
也就是说.第一次整理好了之后.使用这个脚本生成命令,把生成的命令用于其他系统即可.

perl刚刚开始接触,并不是非常精通. 有大神看到了.欢迎修改.

勿喷!!!!!
  1. #!/usr/bin/perl
  2. #----------------------------------------------
  3. # 用于生成chkconfig命令
  4. # date:2013-04-23 15:00
  5. # 作者: 王帅
  6. # QQ:wangshuai@hxage.com
  7. # QQ: 48775533
  8. # 在操作系统执行
  9. # chkconfig --list
  10. # 修改脚本 filename 变量为这个文件即可

  11. # 载入模块
  12. use strict;
  13. use Cwd;

  14. # 文本文件
  15. my $filename = "C:\\1.TXT";

  16. # 用于存放数组,用于后续的比较
  17. my ( @argv1, @argv2 );

  18. # 临时变量,用于存放运行级别
  19. my $level;

  20. # 临时变量,用于自增,和行存储
  21. my ( $i, $line );

  22. # 服务名称
  23. my $name;

  24. open( FILE, $filename ) || die "open file failed.";
  25. while ( $line = <FILE> ) {
  26.         chomp $line;
  27.         $line =~ s/\s+/,/g;

  28.         # 如果$line 为空,进入下一次循环
  29.         next unless $line;
  30.         $level = 0;
  31.         for ( $i = 2 ; $i < 8 ; $i++ ) {
  32.                 @argv1 = split( ",", $line );
  33.                 $name  = $argv1[0];
  34.                 @argv2 = split( ":", $argv1[$i] );
  35.                 if ( "$argv2[1]" eq "off" ) {
  36.                         $level = "$level" . "$argv2[0]";
  37.                 }
  38.         }

  39.         print "/sbin/chkconfig --level " . "$level" . " " . "$name" . " " . "off"
  40.           . "\n";

  41. }
  42. close FILE;
复制代码

论坛徽章:
0
2 [报告]
发表于 2013-04-24 08:39 |只看该作者
支持原创!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP