文件操作 - wbemcat
返回文件管理
返回主菜单
删除本文件
文件: /usr/bin/wbemcat
编辑文件内容
#!/usr/bin/perl use strict; use Getopt::Long; use LWP::UserAgent; use URI; my $version = "1.1.0"; my $port = 5988; my $host = "localhost"; my $protocol = "http"; my $user=""; my $password=""; my $content_type = "application/xml"; #default for xml requests my $path = "/cimom"; #default for xml requests my $method= "POST"; #default for xml requests # Usage description sub usage { print "Usage: wbemcat [OPTION]... [FILE]\n"; print "Send FILE containing CIM-XML data to CIMOM and display returned data.\n"; print "If no input FILE specified then read the data from stdin.\n"; print "\nOptions:\n"; print " -t, --protocol=PROTOCOL\tProtocol with which to connect. Default=$protocol\n"; print " -h, --host=HOSTNAME\t\tName of host running the CIMOM. Default=$host\n"; print " -p, --port=PORT\t\tPort that the CIMOM is listening on. Default=$port\n"; print " --path=PATH\t\tPath for request. Default=$path\n"; print " -m --method=METHOD\t\tHTTP method type. Default=$method\n"; print " --type=CONTENT_TYPE\tContent-Type of the payload. Default=$content_type\n"; print " -u, --user=USER\t\tUser Name for authentication\n"; print " -pwd, --password=PASSWORD\tPassword for authentication\n"; print " -?, --help\t\t\tDisplay this help and exit\n"; exit; } # Process command line options, if any GetOptions("host|h=s" => \$host, "port|p=i" => \$port, "method|m=s" => \$method, "type=s" => \$content_type, "path=s" => \$path, "protocol|t=s" => \$protocol, "user|u=s" => \$user, "password|pwd=s" => \$password, "help|?" => sub{usage}) || usage; my $file = @ARGV[0]; # Read all the XML data from the input file my @payload; my $payloadstr; if ($file) { open(XMLFILE,"<$file") || die "Cannot open $file: $!"; @payload = (<XMLFILE>); close(XMLFILE) || warn "Cannot close $file: $!"; } else { # If no input file specified then read payload data from stdin @payload = (<STDIN>); } $payloadstr = join("", @payload); my $ua = LWP::UserAgent->new; $ua->agent("wbemcat $version"); my $uri = URI->new("$protocol://$host:$port$path"); if ( $user && $password ) { $uri->userinfo("$user:$password"); } my $req = HTTP::Request->new($method, $uri); $req->content_type($content_type); if ($content_type eq "application/xml") { $req->header("CIMProtocolVersion" => "1.0", "CIMOperation" => "MethodCall"); } else { $req->header("Host" => $host, "Accept" => $content_type, "Content-Length" => length($payloadstr)); } $req->content($payloadstr); my $res = $ua->request($req); if($res->is_success) { print $res->content, "\n"; } else { print $res->status_line, "\n"; }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件