DOKK / manpages / debian 10 / rex / Rex.3pm.en
Rex(3pm) User Contributed Perl Documentation Rex(3pm)

Rex - Remote Execution

Rex is a command line tool which executes commands on remote servers. Define tasks in Perl and execute them on remote servers or groups of servers.

Rex can be used to:

  • Deploy web applications to servers sequentially or in parallel.
  • Automate common tasks.
  • Provision servers using Rex's builtin tools.

You can find examples and howtos on <http://rexify.org/>

  • Web Site: <http://rexify.org/>
  • IRC: irc.freenode.net #rex
  • Bug Tracker: <https://github.com/RexOps/Rex/issues>
  • Twitter: <http://twitter.com/jfried83>

    # In a Rexfile:
    use Rex -feature => [qw/1.3/];
   
    user "root";
    password "ch4ngem3";
   
    desc "Show Unix version";
    task "uname", sub {
       say run "uname -a";
    };
    1;
   
    # On the command line:
    bash# rex -H server[01..10] uname

See rex <https://metacpan.org/pod/distribution/Rex/bin/rex> for more information about how to use rex on the command line.

See Rex::Commands for a list of all commands you can use.

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 <https://github.com/RexOps/Rex/blob/master/CONTRIBUTORS> file for a complete list.

Rex is a free software, licensed under: The Apache License, Version 2.0, January 2004

2018-02-01 perl v5.26.1