====== Augeas ======
this is nice tool to modify / edit file using script or puppet.
Here are the few command line reference || example.
==== Using with Puppet ====
Inbuilt lenses.
augeas { "sudoers":
lens => "Sudoers.lns",
incl => "/foo/sudoers",
changes => "...",
}
Adding new file to modify.
augeas { "idmapd_reg":
lens => "Phpvars.lns",
incl => "/etc/idmapd.conf",
changes => [
"set General/Domain 'k2patel.in'",
],
}
==== Command line ====
How to use it on command line. use case may vary.
Please see below for some command i use many times.
Usecase 1:
set /augeas/load/Phpvars/lens "Phpvars.lns"
set /augeas/load/Phpvars/incl "/var/www/vhosts/k2patel.in/sites/default/settings.php"
print /augeas/load
Search for your newly added stuff.
load
Usecase 2:
augtool -At "Simplelines.lns incl /usr/share/tomcat/conf/logging.properties"
/files/usr/share/tomcat/conf/logging.properties/21 = "org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO"
/files/usr/share/tomcat/conf/logging.properties/19 = "org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO"
/files/usr/share/tomcat/conf/logging.properties/17 = "org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO"
You can run 'augtool' and serch for the lenses provided in `ls /augeas/load/`
Usecase 3:
/opt/puppetlabs/puppet/bin/augtool -At "Logrotate.lns incl /etc/logrotate.d/httpd"
print
get /files/etc/logrotate.d/httpd/rule/delaycompress
rm /files/etc/logrotate.d/httpd/rule/delaycompress
set /files/etc/logrotate.d/httpd/rule/schedule monthly
=== Logrotate ===
augeas { "apache_logrotate":
lens => "Logrotate.lns",
incl => "/etc/logrotate.d/httpd",
changes => [
"rm /files/etc/logrotate.d/httpd/rule/delaycompress",
"set /files/etc/logrotate.d/httpd/rule/rotate 99999",
"set /files/etc/logrotate.d/httpd/rule/schedule monthly",
],
}