Rex::Commands::Run - Execute a remote command
With this module you can run a command.
my $output = run "ls -l"; sudo "id";
This function will execute the given command and returns the output.
task "uptime", "server01", sub { say run "uptime"; };
This function checks if a command is in the path or is available.
task "uptime", sub { if(can_run "uptime") { say run "uptime"; } };
Run a command with sudo. Define the password for sudo with sudo_password.
You can use this function to run one command with sudo privileges or to turn on sudo globaly.
user "unprivuser"; sudo_password "f00b4r"; sudo -on; # turn sudo globaly on task prepare => sub { install "apache2"; file "/etc/ntp.conf", source => "files/etc/ntp.conf", owner => "root", mode => 640; };
Or, if you don't turning sudo globaly on.
task prepare => sub { file "/tmp/foo.txt", content => "this file was written without sudo privileges\n"; # everything in this section will be executed with sudo privileges sudo sub { install "apache2"; file "/tmp/foo2.txt", content => "this file was written with sudo privileges\n"; }; };
Run only one command within sudo.
task "eth1-down", sub { sudo "ifconfig eth1 down"; };
To install Rex, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Rex
CPAN shell
perl -MCPAN -e shell install Rex
For more information on module installation, please visit the detailed CPAN module installation guide.