Rex - the friendly automation framework
Rex is an automation framework that is friendly to any combinations of local and remote execution, push and pull style of management, or imperative and declarative approach.
Its flexibility makes it a great fit for many different use cases, but most commonly Rex is used to automate application deployment and data center infrastructure management tasks.
See Rex::Commands for a starting point of available built-in commands.
See rex for more information about how to use rex on the command line.
# In a Rexfile: use Rex -feature => [qw/1.4/]; user "root"; password "ch4ngem3"; desc "Show system information"; task "sysinfo", sub { say run "uname -a"; }; 1; # On the command line: $ rex -H server[01..10] sysinfo
This function is deprecated since 0.28! See Rex::Commands::connection.
Returns the current connection as a hashRef.
The server name
1 if it is a ssh connection, 0 if not.
Returns 1 if the current connection is a ssh connection. 0 if not.
Returns 1 if the current connection is local. Otherwise 0.
Returns 1 if the current operation is executed within sudo.
Returns the sftp object for the current ssh connection.
Use this function to create a connection if you use Rex as a library.
use Rex; use Rex::Commands::Run; use Rex::Commands::Fs; Rex::connect( server => "remotehost", user => "root", password => "f00b4r", private_key => "/path/to/private/key/file", public_key => "/path/to/public/key/file", ); if(is_file("/foo/bar")) { print "Do something...\n"; } my $output = run("uptime");
Many thanks to the contributors for their work. Please see CONTRIBUTORS file for a complete list.
Rex is a free software, licensed under: The Apache License, Version 2.0, January 2004
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.