SlideShare a Scribd company logo
1 of 11
Download to read offline
How To Install and Configure Log Rotation on RHEL 7
i | P a g e
Table of Contents
Overview.......................................................................................................................................................1
Applies To......................................................................................................................................................1
Pre-Requisites ...............................................................................................................................................1
Check Package...........................................................................................................................................1
Install Package...........................................................................................................................................1
Verify Package...........................................................................................................................................2
Configuration Files / Location...................................................................................................................2
Logrotate – Configuration File ..............................................................................................................2
Logrotate – Configuration Directory to Include....................................................................................3
Logrotate – httpd Script............................................................................................................................3
Httpd – Rotation Script .........................................................................................................................3
logrotate – Run Status ..............................................................................................................................4
logrotate Manually....................................................................................................................................5
logrotate Manually - Verbose ...................................................................................................................5
logrotate Manually – Debug .....................................................................................................................5
logrotate Manually – All Configs...............................................................................................................6
logrotate – Custom Application Log .........................................................................................................6
Tomcat – Rotation Script – One Log File...............................................................................................6
logrotate – Custom Application Multiple Filters.......................................................................................7
Tomcat – Rotation Script – Multiple Filters ..........................................................................................7
Configurable Options....................................................................................................................................8
Shell Script - MoveOldLogs.sh...................................................................................................................9
PostRotate - Option ................................................................................................................................10
How To Install and Configure Log Rotation on RHEL 7
1 | P a g e
Overview
All the services or applications deployed on the system, generates event log’s in a file for each action that
is performed on the system / application / user. Over a period of time it becomes a tedious task to manage
such log files and grows in humongous sizes and the application performance would deteriorate
periodically.
To mitigate such issues and maintain log files we utilize “logrotate” which is designed to ease
administration. It takes care of automatic log file rotation, compression, removal and mailing of log files.
It can be configured to maintain logs file on daily, weekly monthly or when the size of the file is grown to
a specific size.
Ideally, logrotate is run as a cron job. To test or run manually you can run command “logrotate” with “-f”
parameter along with the configuration file.
Applies To
Tested on RHEL 7, CentOS 7, though it can be configured on most of the *nix flavor of OS.
Pre-Requisites
 logrotate
Check Package
Install the logrotate package, run the command
rpm -qa | grep logrotate
Install Package
Install the logrotate package, run the command;
yum install logrotate -y
How To Install and Configure Log Rotation on RHEL 7
2 | P a g e
Verify Package
To verify the logrotate package is installed, run the command;
rpm -qa | grep logrotate
Configuration Files / Location
By default, when the logrotate is installed. All the Configuration files “/etc/logrotate.conf” that are
configured.
/etc/logrotate.conf Default configuration file
/etc/logrotate.d/ Default directory for different service or application configuration file location
Logrotate – Configuration File
Default configuration file is configured as below. To display current configuration without comments, run
command;
grep -v "#" /etc/logrotate.conf
weekly
rotate 4
create
dateext
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
How To Install and Configure Log Rotation on RHEL 7
3 | P a g e
Logrotate – Configuration Directory to Include
The directive “include /etc/logrotate.d” that is configured, instructs the service to include the
configuration files in the directory “/etc/logrotate.d”.
cd /etc/logrotate.d/
ls -l
Logrotate – httpd Script
A sample script, which show as to how to configure log rotation for “/var/log/httpd/” location for all
“*.log” which is filtered files.
Httpd – Rotation Script
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
How To Install and Configure Log Rotation on RHEL 7
4 | P a g e
logrotate – Run Status
To validate the logrotate run status for each configuration file and know the status of each one of them,
run the command; It will list run time for each config file.
cat /var/lib/logrotate.status
How To Install and Configure Log Rotation on RHEL 7
5 | P a g e
logrotate Manually
To run manually logrotate run the command below for specific configuration file.
logrotate -f /etc/logrotate.d/tomcat
logrotate Manually - Verbose
To verbose logrotate run the command below;
logrotate -v -f /etc/logrotate.d/tomcat
logrotate Manually – Debug
To debug logrotate and redirect the logs to a file, run the command below;
logrotate -d /etc/logrotate.conf 2> /tmp/logrotate.debug
How To Install and Configure Log Rotation on RHEL 7
6 | P a g e
logrotate Manually – All Configs
To rotate all the logs and in verbose mode, run the command below;
logrotate -f -v /etc/logrotate.conf
logrotate – Custom Application Log
To configure logrotate for a custom application. Create a new config file and configure the options for log
rotation in the folder “/etc/logrotate.d/”. We will be rotating a specific file “catalina.out” only. Set
options for the log rotation accordingly.
vi /etc/logrotate.d/tomcat
Tomcat – Rotation Script – One Log File
/usr/local/apache-tomcat-6.0.20/logs/catalina.out {
copytruncate
daily
dateext
rotate 30
size 100M
notifempty
missingok
compress
postrotate
/usr/bin/MoveOldLogs.sh || true
endscript
}
How To Install and Configure Log Rotation on RHEL 7
7 | P a g e
logrotate – Custom Application Multiple Filters
To configure logrotate for a custom application. Create a new configuration file and configure the options
for log rotation in the folder “/etc/logrotate.d/”.
We will be rotating a specific file “catalina.out” only. Another path wherein we will configure to rotate
filter files “*.log” for the paths. Similarly we can configure for different paths.
File Type #1 /usr/local/apache-tomcat-6.0.20/logs/catalina.out
File Type #2 /usr/local/apache-tomcat-6.0.20/logs/*.log
logrotate -v -f /etc/logrotate.d/tomcat
Tomcat – Rotation Script – Multiple Filters
/usr/local/apache-tomcat-6.0.20/logs/catalina.out /usr/local/apache-tomcat-6.0.20/logs/*.log {
copytruncate
daily
dateext
rotate 30
size 100M
notifempty
missingok
compress
postrotate
/usr/bin/MoveOldLogs.sh || true
endscript
}
How To Install and Configure Log Rotation on RHEL 7
8 | P a g e
Configurable Options
A lot of other configurable options and with its function.
Options Function
compress To compress the rotated log file with gzip
nocompress Compression is disabled
copytruncate When processes are still writing information to open log files. It will copy the
active log file to a backup file and truncates the active log file
nocopytruncate Will copy the log files to backup file, but the open log file will not be
truncated
create mode owner
group
rotates the log file and creates a new log file with the specified permissions,
owner, and group.
The default is to use the same mode, owner, and group as the original file
nocreate prevents the creation of a new log file creation
delaycompress It’s used with the compress option is set, then rotated log file is not
compressed until the next time it is cycled
nodelaycompress overrides delaycompress. The log file is compressed when it is cycled
errors address If logrotate encounters errors to an email address
ifempty Log file is rotated even if it is empty. It’s the default setting
notifempty Does not rotate the log file, if it is empty file or zero byte file
mail address This mails log files that are cycled to an address. When mail log files are
cycled, they are effectively removed from the system
nomail When mail log files are cycled, a copy is not mailed
olddir directory With this, cycled log files are kept in the specified directory. This directory
must be on the same filesystem as the current log files
How To Install and Configure Log Rotation on RHEL 7
9 | P a g e
noolddir Cycled log files are kept in the same directory as the current log files
prerotate/endscript Before rotation run. The prerotate and endscript invoke task or script, check
script below.
postrotate/endscript After rotation run. The postrotate and endscript invoke task or script, check
script below.
daily To rotate log files daily
weekly To rotate log files weekly
monthly To rotate log files monthly
rotate count Specifies the number of times to rotate a file before it is deleted. 0 (zero)
means no copies are retained. In case you set it as 7, seven copies are
retained.
tabootext [+] list directs logrotate to not rotate files with the specified extension. The default
list of extensions is .rpm-orig, .rpmsave, v, and ~.
size size With this, the log file is rotated when the specified size is reached. Size may
be specified in bytes (default), kilobytes (sizek), or megabytes (sizem).
Shell Script - MoveOldLogs.sh
#!/bin/bash
LogPath=/usr/local/apache-tomcat-6.0.20/logs/
LogFileName=catalina.out
LogDate=$(date +"%m%d%Y")
MoveFileName=${LogPath}${LogFileName}
DestPath=/var/log/archive-logs/apache-tomcat/
#
# Create Destination path if it doesn't exists
#
if [ ! -d ${DestPath} ]; then
mkdir -p ${DestPath}
fi
#
# Move the file to a archive folder
#
mv ${MoveFileName} ${DestPath}${LogFileName}.${LogDate}
gzip ${DestPath}/${LogFileName}.${LogDate}
exit
How To Install and Configure Log Rotation on RHEL 7
10 | P a g e
PostRotate - Option
Invoke command / task between postrotate and endscript tags.
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript

More Related Content

What's hot

[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...Francesco Casalegno
 
Obscure Go Optimisations
Obscure Go OptimisationsObscure Go Optimisations
Obscure Go OptimisationsBryan Boreham
 
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기OnGameServer
 
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Gor Nishanov,  C++ Coroutines – a negative overhead abstractionGor Nishanov,  C++ Coroutines – a negative overhead abstraction
Gor Nishanov, C++ Coroutines – a negative overhead abstractionSergey Platonov
 
Introduction to Thrift
Introduction to ThriftIntroduction to Thrift
Introduction to ThriftDvir Volk
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Базы данных в 2020
Базы данных в 2020Базы данных в 2020
Базы данных в 2020Timur Shemsedinov
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
Milestones of operating systems
Milestones of operating systemsMilestones of operating systems
Milestones of operating systemsPoyraz Sagtekin
 
OO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionOO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionYu-Sheng (Yosen) Chen
 
Extensible Effects in Dotty
Extensible Effects in DottyExtensible Effects in Dotty
Extensible Effects in DottySanshiro Yoshida
 
Memory Optimization
Memory OptimizationMemory Optimization
Memory OptimizationWei Lin
 
Intro to elixir and phoenix
Intro to elixir and phoenixIntro to elixir and phoenix
Intro to elixir and phoenixJared Smith
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerWellington Marinho
 
Rust: Unlocking Systems Programming
Rust: Unlocking Systems ProgrammingRust: Unlocking Systems Programming
Rust: Unlocking Systems ProgrammingC4Media
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 

What's hot (20)

[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
 
Obscure Go Optimisations
Obscure Go OptimisationsObscure Go Optimisations
Obscure Go Optimisations
 
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
 
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Gor Nishanov,  C++ Coroutines – a negative overhead abstractionGor Nishanov,  C++ Coroutines – a negative overhead abstraction
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
 
Introduction to Thrift
Introduction to ThriftIntroduction to Thrift
Introduction to Thrift
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
Базы данных в 2020
Базы данных в 2020Базы данных в 2020
Базы данных в 2020
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 
Le langage C
Le langage CLe langage C
Le langage C
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Milestones of operating systems
Milestones of operating systemsMilestones of operating systems
Milestones of operating systems
 
OO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionOO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual Function
 
Extensible Effects in Dotty
Extensible Effects in DottyExtensible Effects in Dotty
Extensible Effects in Dotty
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Memory Optimization
Memory OptimizationMemory Optimization
Memory Optimization
 
Intro to elixir and phoenix
Intro to elixir and phoenixIntro to elixir and phoenix
Intro to elixir and phoenix
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e Docker
 
Rust: Unlocking Systems Programming
Rust: Unlocking Systems ProgrammingRust: Unlocking Systems Programming
Rust: Unlocking Systems Programming
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 

Viewers also liked

How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7VCP Muthukrishna
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellVCP Muthukrishna
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellVCP Muthukrishna
 
Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedVCP Muthukrishna
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuVCP Muthukrishna
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7VCP Muthukrishna
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7VCP Muthukrishna
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7VCP Muthukrishna
 

Viewers also liked (8)

How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShell
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShell
 
Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failed
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on Ubuntu
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7
 

Similar to How To Install and Configure Log Rotation on RHEL 7 or CentOS 7

How To Install OpenFire in CentOS 7
How To Install OpenFire in CentOS 7How To Install OpenFire in CentOS 7
How To Install OpenFire in CentOS 7VCP Muthukrishna
 
How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7VCP Muthukrishna
 
Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Chanaka Lasantha
 
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in UbuntuHow To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in UbuntuWirabumi Software
 
How to Configure OpenFiler for NFS Share
How to Configure OpenFiler for NFS ShareHow to Configure OpenFiler for NFS Share
How to Configure OpenFiler for NFS ShareVCP Muthukrishna
 
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7How To Install and Generate Audit Reports in CentOS 7 or RHEL 7
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7VCP Muthukrishna
 
How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7VCP Muthukrishna
 
Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7VCP Muthukrishna
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5William Lee
 
Snort296x centos6x 2
Snort296x centos6x 2Snort296x centos6x 2
Snort296x centos6x 2Trinh Tuan
 
How tos nagios - centos wiki
How tos nagios - centos wikiHow tos nagios - centos wiki
How tos nagios - centos wikishahab071
 
Inspection and maintenance tools (Linux / OpenStack)
Inspection and maintenance tools (Linux / OpenStack)Inspection and maintenance tools (Linux / OpenStack)
Inspection and maintenance tools (Linux / OpenStack)Gerard Braad
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMAlexander Shopov
 
How To Configure Apache VirtualHost on RHEL 7 on AWS
How To Configure Apache VirtualHost on RHEL 7 on AWSHow To Configure Apache VirtualHost on RHEL 7 on AWS
How To Configure Apache VirtualHost on RHEL 7 on AWSVCP Muthukrishna
 
2.5 use rpm and yum package management
2.5 use rpm and yum package management2.5 use rpm and yum package management
2.5 use rpm and yum package managementAcácio Oliveira
 
Install nagios
Install nagiosInstall nagios
Install nagioshassandb
 
Install nagios
Install nagiosInstall nagios
Install nagioshassandb
 
Install nagios
Install nagiosInstall nagios
Install nagioshassandb
 

Similar to How To Install and Configure Log Rotation on RHEL 7 or CentOS 7 (20)

How To Install OpenFire in CentOS 7
How To Install OpenFire in CentOS 7How To Install OpenFire in CentOS 7
How To Install OpenFire in CentOS 7
 
How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7
 
Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana Install elasticsearch, logstash and kibana
Install elasticsearch, logstash and kibana
 
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in UbuntuHow To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
 
How to Configure OpenFiler for NFS Share
How to Configure OpenFiler for NFS ShareHow to Configure OpenFiler for NFS Share
How to Configure OpenFiler for NFS Share
 
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7How To Install and Generate Audit Reports in CentOS 7 or RHEL 7
How To Install and Generate Audit Reports in CentOS 7 or RHEL 7
 
How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7
 
Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7
 
L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5L.A.M.P Installation Note --- CentOS 6.5
L.A.M.P Installation Note --- CentOS 6.5
 
Snort296x centos6x 2
Snort296x centos6x 2Snort296x centos6x 2
Snort296x centos6x 2
 
How tos nagios - centos wiki
How tos nagios - centos wikiHow tos nagios - centos wiki
How tos nagios - centos wiki
 
Inspection and maintenance tools (Linux / OpenStack)
Inspection and maintenance tools (Linux / OpenStack)Inspection and maintenance tools (Linux / OpenStack)
Inspection and maintenance tools (Linux / OpenStack)
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
How To Configure Apache VirtualHost on RHEL 7 on AWS
How To Configure Apache VirtualHost on RHEL 7 on AWSHow To Configure Apache VirtualHost on RHEL 7 on AWS
How To Configure Apache VirtualHost on RHEL 7 on AWS
 
2.5 use rpm and yum package management
2.5 use rpm and yum package management2.5 use rpm and yum package management
2.5 use rpm and yum package management
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
The Domino 10 RHEL 7 Primer
The Domino 10 RHEL 7 PrimerThe Domino 10 RHEL 7 Primer
The Domino 10 RHEL 7 Primer
 
Snort-IPS-Tutorial
Snort-IPS-TutorialSnort-IPS-Tutorial
Snort-IPS-Tutorial
 

More from VCP Muthukrishna

How to Fix Duplicate Packages in YUM on CentOS 7
How to Fix Duplicate Packages in YUM on CentOS 7How to Fix Duplicate Packages in YUM on CentOS 7
How to Fix Duplicate Packages in YUM on CentOS 7VCP Muthukrishna
 
How To Install and Configure GNome on CentOS 7
How To Install and Configure GNome on CentOS 7How To Install and Configure GNome on CentOS 7
How To Install and Configure GNome on CentOS 7VCP Muthukrishna
 
How To Connect to Active Directory User Validation
How To Connect to Active Directory User ValidationHow To Connect to Active Directory User Validation
How To Connect to Active Directory User ValidationVCP Muthukrishna
 
How To Connect To Active Directory PowerShell
How To Connect To Active Directory PowerShellHow To Connect To Active Directory PowerShell
How To Connect To Active Directory PowerShellVCP Muthukrishna
 
How To List Files on Remote Server - PowerShell
How To List Files on Remote Server - PowerShellHow To List Files on Remote Server - PowerShell
How To List Files on Remote Server - PowerShellVCP Muthukrishna
 
How To List Files and Display In HTML Format
How To List Files and Display In HTML FormatHow To List Files and Display In HTML Format
How To List Files and Display In HTML FormatVCP Muthukrishna
 
How To Check and Delete a File via PowerShell
How To Check and Delete a File via PowerShellHow To Check and Delete a File via PowerShell
How To Check and Delete a File via PowerShellVCP Muthukrishna
 
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...VCP Muthukrishna
 
How To Setup SSH Keys on CentOS 7
How To Setup SSH Keys on CentOS 7How To Setup SSH Keys on CentOS 7
How To Setup SSH Keys on CentOS 7VCP Muthukrishna
 
How To Install and Configure Open SSH Server on Ubuntu
How To Install and Configure Open SSH Server on UbuntuHow To Install and Configure Open SSH Server on Ubuntu
How To Install and Configure Open SSH Server on UbuntuVCP Muthukrishna
 
Windows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoWindows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoVCP Muthukrishna
 
How To List Nginx Modules Installed / Complied on CentOS 7
How To List Nginx Modules Installed / Complied on CentOS 7How To List Nginx Modules Installed / Complied on CentOS 7
How To List Nginx Modules Installed / Complied on CentOS 7VCP Muthukrishna
 
Windows PowerShell Basics – How To Create powershell for loop
Windows PowerShell Basics – How To Create powershell for loopWindows PowerShell Basics – How To Create powershell for loop
Windows PowerShell Basics – How To Create powershell for loopVCP Muthukrishna
 
How To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsHow To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsVCP Muthukrishna
 
How To Create PowerShell Function Mandatory Parameter and Optional Parameter
How To Create PowerShell Function Mandatory Parameter and Optional ParameterHow To Create PowerShell Function Mandatory Parameter and Optional Parameter
How To Create PowerShell Function Mandatory Parameter and Optional ParameterVCP Muthukrishna
 
How To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueHow To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueVCP Muthukrishna
 
How To Create PowerShell Function
How To Create PowerShell FunctionHow To Create PowerShell Function
How To Create PowerShell FunctionVCP Muthukrishna
 
How To Find Package Installation Date on RHEL 7
How To Find Package Installation Date on RHEL 7How To Find Package Installation Date on RHEL 7
How To Find Package Installation Date on RHEL 7VCP Muthukrishna
 
How To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShellHow To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShellVCP Muthukrishna
 
How To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShellHow To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShellVCP Muthukrishna
 

More from VCP Muthukrishna (20)

How to Fix Duplicate Packages in YUM on CentOS 7
How to Fix Duplicate Packages in YUM on CentOS 7How to Fix Duplicate Packages in YUM on CentOS 7
How to Fix Duplicate Packages in YUM on CentOS 7
 
How To Install and Configure GNome on CentOS 7
How To Install and Configure GNome on CentOS 7How To Install and Configure GNome on CentOS 7
How To Install and Configure GNome on CentOS 7
 
How To Connect to Active Directory User Validation
How To Connect to Active Directory User ValidationHow To Connect to Active Directory User Validation
How To Connect to Active Directory User Validation
 
How To Connect To Active Directory PowerShell
How To Connect To Active Directory PowerShellHow To Connect To Active Directory PowerShell
How To Connect To Active Directory PowerShell
 
How To List Files on Remote Server - PowerShell
How To List Files on Remote Server - PowerShellHow To List Files on Remote Server - PowerShell
How To List Files on Remote Server - PowerShell
 
How To List Files and Display In HTML Format
How To List Files and Display In HTML FormatHow To List Files and Display In HTML Format
How To List Files and Display In HTML Format
 
How To Check and Delete a File via PowerShell
How To Check and Delete a File via PowerShellHow To Check and Delete a File via PowerShell
How To Check and Delete a File via PowerShell
 
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...
Zimbra Troubleshooting - Mails not being Delivered or Deferred or Connection ...
 
How To Setup SSH Keys on CentOS 7
How To Setup SSH Keys on CentOS 7How To Setup SSH Keys on CentOS 7
How To Setup SSH Keys on CentOS 7
 
How To Install and Configure Open SSH Server on Ubuntu
How To Install and Configure Open SSH Server on UbuntuHow To Install and Configure Open SSH Server on Ubuntu
How To Install and Configure Open SSH Server on Ubuntu
 
Windows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoWindows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive Info
 
How To List Nginx Modules Installed / Complied on CentOS 7
How To List Nginx Modules Installed / Complied on CentOS 7How To List Nginx Modules Installed / Complied on CentOS 7
How To List Nginx Modules Installed / Complied on CentOS 7
 
Windows PowerShell Basics – How To Create powershell for loop
Windows PowerShell Basics – How To Create powershell for loopWindows PowerShell Basics – How To Create powershell for loop
Windows PowerShell Basics – How To Create powershell for loop
 
How To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsHow To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional Statements
 
How To Create PowerShell Function Mandatory Parameter and Optional Parameter
How To Create PowerShell Function Mandatory Parameter and Optional ParameterHow To Create PowerShell Function Mandatory Parameter and Optional Parameter
How To Create PowerShell Function Mandatory Parameter and Optional Parameter
 
How To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueHow To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter Value
 
How To Create PowerShell Function
How To Create PowerShell FunctionHow To Create PowerShell Function
How To Create PowerShell Function
 
How To Find Package Installation Date on RHEL 7
How To Find Package Installation Date on RHEL 7How To Find Package Installation Date on RHEL 7
How To Find Package Installation Date on RHEL 7
 
How To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShellHow To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShell
 
How To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShellHow To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShell
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

How To Install and Configure Log Rotation on RHEL 7 or CentOS 7

  • 1. How To Install and Configure Log Rotation on RHEL 7 i | P a g e Table of Contents Overview.......................................................................................................................................................1 Applies To......................................................................................................................................................1 Pre-Requisites ...............................................................................................................................................1 Check Package...........................................................................................................................................1 Install Package...........................................................................................................................................1 Verify Package...........................................................................................................................................2 Configuration Files / Location...................................................................................................................2 Logrotate – Configuration File ..............................................................................................................2 Logrotate – Configuration Directory to Include....................................................................................3 Logrotate – httpd Script............................................................................................................................3 Httpd – Rotation Script .........................................................................................................................3 logrotate – Run Status ..............................................................................................................................4 logrotate Manually....................................................................................................................................5 logrotate Manually - Verbose ...................................................................................................................5 logrotate Manually – Debug .....................................................................................................................5 logrotate Manually – All Configs...............................................................................................................6 logrotate – Custom Application Log .........................................................................................................6 Tomcat – Rotation Script – One Log File...............................................................................................6 logrotate – Custom Application Multiple Filters.......................................................................................7 Tomcat – Rotation Script – Multiple Filters ..........................................................................................7 Configurable Options....................................................................................................................................8 Shell Script - MoveOldLogs.sh...................................................................................................................9 PostRotate - Option ................................................................................................................................10
  • 2. How To Install and Configure Log Rotation on RHEL 7 1 | P a g e Overview All the services or applications deployed on the system, generates event log’s in a file for each action that is performed on the system / application / user. Over a period of time it becomes a tedious task to manage such log files and grows in humongous sizes and the application performance would deteriorate periodically. To mitigate such issues and maintain log files we utilize “logrotate” which is designed to ease administration. It takes care of automatic log file rotation, compression, removal and mailing of log files. It can be configured to maintain logs file on daily, weekly monthly or when the size of the file is grown to a specific size. Ideally, logrotate is run as a cron job. To test or run manually you can run command “logrotate” with “-f” parameter along with the configuration file. Applies To Tested on RHEL 7, CentOS 7, though it can be configured on most of the *nix flavor of OS. Pre-Requisites  logrotate Check Package Install the logrotate package, run the command rpm -qa | grep logrotate Install Package Install the logrotate package, run the command; yum install logrotate -y
  • 3. How To Install and Configure Log Rotation on RHEL 7 2 | P a g e Verify Package To verify the logrotate package is installed, run the command; rpm -qa | grep logrotate Configuration Files / Location By default, when the logrotate is installed. All the Configuration files “/etc/logrotate.conf” that are configured. /etc/logrotate.conf Default configuration file /etc/logrotate.d/ Default directory for different service or application configuration file location Logrotate – Configuration File Default configuration file is configured as below. To display current configuration without comments, run command; grep -v "#" /etc/logrotate.conf weekly rotate 4 create dateext include /etc/logrotate.d /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 }
  • 4. How To Install and Configure Log Rotation on RHEL 7 3 | P a g e Logrotate – Configuration Directory to Include The directive “include /etc/logrotate.d” that is configured, instructs the service to include the configuration files in the directory “/etc/logrotate.d”. cd /etc/logrotate.d/ ls -l Logrotate – httpd Script A sample script, which show as to how to configure log rotation for “/var/log/httpd/” location for all “*.log” which is filtered files. Httpd – Rotation Script /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript }
  • 5. How To Install and Configure Log Rotation on RHEL 7 4 | P a g e logrotate – Run Status To validate the logrotate run status for each configuration file and know the status of each one of them, run the command; It will list run time for each config file. cat /var/lib/logrotate.status
  • 6. How To Install and Configure Log Rotation on RHEL 7 5 | P a g e logrotate Manually To run manually logrotate run the command below for specific configuration file. logrotate -f /etc/logrotate.d/tomcat logrotate Manually - Verbose To verbose logrotate run the command below; logrotate -v -f /etc/logrotate.d/tomcat logrotate Manually – Debug To debug logrotate and redirect the logs to a file, run the command below; logrotate -d /etc/logrotate.conf 2> /tmp/logrotate.debug
  • 7. How To Install and Configure Log Rotation on RHEL 7 6 | P a g e logrotate Manually – All Configs To rotate all the logs and in verbose mode, run the command below; logrotate -f -v /etc/logrotate.conf logrotate – Custom Application Log To configure logrotate for a custom application. Create a new config file and configure the options for log rotation in the folder “/etc/logrotate.d/”. We will be rotating a specific file “catalina.out” only. Set options for the log rotation accordingly. vi /etc/logrotate.d/tomcat Tomcat – Rotation Script – One Log File /usr/local/apache-tomcat-6.0.20/logs/catalina.out { copytruncate daily dateext rotate 30 size 100M notifempty missingok compress postrotate /usr/bin/MoveOldLogs.sh || true endscript }
  • 8. How To Install and Configure Log Rotation on RHEL 7 7 | P a g e logrotate – Custom Application Multiple Filters To configure logrotate for a custom application. Create a new configuration file and configure the options for log rotation in the folder “/etc/logrotate.d/”. We will be rotating a specific file “catalina.out” only. Another path wherein we will configure to rotate filter files “*.log” for the paths. Similarly we can configure for different paths. File Type #1 /usr/local/apache-tomcat-6.0.20/logs/catalina.out File Type #2 /usr/local/apache-tomcat-6.0.20/logs/*.log logrotate -v -f /etc/logrotate.d/tomcat Tomcat – Rotation Script – Multiple Filters /usr/local/apache-tomcat-6.0.20/logs/catalina.out /usr/local/apache-tomcat-6.0.20/logs/*.log { copytruncate daily dateext rotate 30 size 100M notifempty missingok compress postrotate /usr/bin/MoveOldLogs.sh || true endscript }
  • 9. How To Install and Configure Log Rotation on RHEL 7 8 | P a g e Configurable Options A lot of other configurable options and with its function. Options Function compress To compress the rotated log file with gzip nocompress Compression is disabled copytruncate When processes are still writing information to open log files. It will copy the active log file to a backup file and truncates the active log file nocopytruncate Will copy the log files to backup file, but the open log file will not be truncated create mode owner group rotates the log file and creates a new log file with the specified permissions, owner, and group. The default is to use the same mode, owner, and group as the original file nocreate prevents the creation of a new log file creation delaycompress It’s used with the compress option is set, then rotated log file is not compressed until the next time it is cycled nodelaycompress overrides delaycompress. The log file is compressed when it is cycled errors address If logrotate encounters errors to an email address ifempty Log file is rotated even if it is empty. It’s the default setting notifempty Does not rotate the log file, if it is empty file or zero byte file mail address This mails log files that are cycled to an address. When mail log files are cycled, they are effectively removed from the system nomail When mail log files are cycled, a copy is not mailed olddir directory With this, cycled log files are kept in the specified directory. This directory must be on the same filesystem as the current log files
  • 10. How To Install and Configure Log Rotation on RHEL 7 9 | P a g e noolddir Cycled log files are kept in the same directory as the current log files prerotate/endscript Before rotation run. The prerotate and endscript invoke task or script, check script below. postrotate/endscript After rotation run. The postrotate and endscript invoke task or script, check script below. daily To rotate log files daily weekly To rotate log files weekly monthly To rotate log files monthly rotate count Specifies the number of times to rotate a file before it is deleted. 0 (zero) means no copies are retained. In case you set it as 7, seven copies are retained. tabootext [+] list directs logrotate to not rotate files with the specified extension. The default list of extensions is .rpm-orig, .rpmsave, v, and ~. size size With this, the log file is rotated when the specified size is reached. Size may be specified in bytes (default), kilobytes (sizek), or megabytes (sizem). Shell Script - MoveOldLogs.sh #!/bin/bash LogPath=/usr/local/apache-tomcat-6.0.20/logs/ LogFileName=catalina.out LogDate=$(date +"%m%d%Y") MoveFileName=${LogPath}${LogFileName} DestPath=/var/log/archive-logs/apache-tomcat/ # # Create Destination path if it doesn't exists # if [ ! -d ${DestPath} ]; then mkdir -p ${DestPath} fi # # Move the file to a archive folder # mv ${MoveFileName} ${DestPath}${LogFileName}.${LogDate} gzip ${DestPath}/${LogFileName}.${LogDate} exit
  • 11. How To Install and Configure Log Rotation on RHEL 7 10 | P a g e PostRotate - Option Invoke command / task between postrotate and endscript tags. postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript