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

What's hot (20)

Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion Objects
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakari
 
NUMA and Java Databases
NUMA and Java DatabasesNUMA and Java Databases
NUMA and Java Databases
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Xvisor: embedded and lightweight hypervisor
Xvisor: embedded and lightweight hypervisorXvisor: embedded and lightweight hypervisor
Xvisor: embedded and lightweight hypervisor
 
Learning from ZFS to Scale Storage on and under Containers
Learning from ZFS to Scale Storage on and under ContainersLearning from ZFS to Scale Storage on and under Containers
Learning from ZFS to Scale Storage on and under Containers
 
Linux Locking Mechanisms
Linux Locking MechanismsLinux Locking Mechanisms
Linux Locking Mechanisms
 
Loki - like prometheus, but for logs
Loki - like prometheus, but for logsLoki - like prometheus, but for logs
Loki - like prometheus, but for logs
 
Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux System
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentation
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Linux Performance Tools
Linux Performance ToolsLinux Performance Tools
Linux Performance Tools
 
A crash course in CRUSH
A crash course in CRUSHA crash course in CRUSH
A crash course in CRUSH
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
 
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaAutovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
 
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem NavoievDevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
DevOps Days Kyiv 2019 -- Victoria Metrics // Artem Navoiev
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Virtualization Support in ARMv8+
Virtualization Support in ARMv8+Virtualization Support in ARMv8+
Virtualization Support in ARMv8+
 

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

Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 
Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 
Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 

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

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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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