App-RemoteCommand
view release on metacpan or search on metacpan
lib/App/RemoteCommand.pm view on Meta::CPAN
my @host;
while (my $line = <$fh>) {
$line =~ s/^\s+//; $line =~ s/\s+$//;
push @host, string_glob_permute($line) if $line =~ /^[^#\s]/;
}
[ List::Util::uniq @host ];
}
1;
__END__
=encoding utf-8
=for stopwords passphrase
=head1 NAME
App::RemoteCommand - simple remote command launcher via ssh
=head1 SYNOPSIS
$ rcommand [OPTIONS] HOSTS COMMANDS
$ rcommand [OPTIONS] --script SCRIPT HOSTS
$ rcommand [OPTIONS] --host-file FILE COMMANDS
See L<rcommad|https://metacpan.org/pod/distribution/App-RemoteCommand/script/rcommand>.
=head1 DESCRIPTION
=begin html
<a href="https://asciinema.org/a/119109?autoplay=1" target="_blank"><img src="https://asciinema.org/a/119109.png" alto="usage" /></a>
=end html
App::RemoteCommand is a simple remote command launcher via ssh. The features are:
=over 4
=item * execute remote command in parallel
=item * remember sudo password first, and never ask again
=item * you may specify a script file in local machine
=item * append hostname and time to each command output lines
=item * report success/fail summary
=back
=head1 CAVEATS
Currently this module assumes you can ssh the target hosts
without password or passphrase.
So if your ssh identity (ssh private key) requires a passphrase,
please use C<ssh-agent>.
=head1 ARTIFACT ATTESTATIONS
GitHub Artifact Attestations are generated for release tarballs uploaded to
CPAN. If you care about provenance for the uploaded tarballs, see:
L<https://github.com/skaji/App-RemoteCommand/attestations>
=head1 COPYRIGHT AND LICENSE
Copyright 2016 Shoichi Kaji <skaji@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
=cut
( run in 1.021 second using v1.01-cache-2.11-cpan-b16cb0d3907 )