View on
MetaCPAN
Jan Gehring > Rex > Rex::Commands::Sysctl

Download:
Rex-1.5.0.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: v1.5.0   Source  

NAME ^

Rex::Commands::Sysctl - Manipulate sysctl

DESCRIPTION ^

With this module you can set and get sysctl parameters.

Version <= 1.0: All these functions will not be reported.

All these functions are not idempotent.

SYNOPSIS ^

 use Rex::Commands::Sysctl;
 
 my $data = sysctl "net.ipv4.tcp_keepalive_time";
 sysctl "net.ipv4.tcp_keepalive_time" => 1800;

EXPORTED FUNCTIONS ^

sysctl($key [, $val [, %options]])

This function will read the sysctl key $key.

If $val is given, then this function will set the sysctl key $key.

 task "tune", "server01", sub {
   if( sysctl("net.ipv4.ip_forward") == 0 ) {
     sysctl "net.ipv4.ip_forward" => 1;
   }
 };

If both $val and ensure option are used, the sysctl key is modified and the value may persist in /etc/sysctl.conf depending if ensure option is "present" or "absent".

With ensure => "present", if the key already exists in the file, it will be updated to the new value.

 task "forwarding", "server01", sub {
   sysctl "net.ipv4.ip_forward" => 1, ensure => "present";
 }
syntax highlighting: