Commit 5edcfa2d authored by Natanael Copa's avatar Natanael Copa

main/logrotate: add support for cpulimit

If package cpulimit is installed, then apply the cpulimit specified
in CPULIMIT in /etc/conf.d/logrotate

This helps monitoring software to not trigger high CPU load alarms
when rotating logs.
parent 8c0797b4
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <> # Maintainer: Natanael Copa <>
pkgname=logrotate pkgname=logrotate
pkgver=3.8.2 pkgver=3.8.2
pkgrel=0 pkgrel=1
pkgdesc="Tool to rotate logfiles" pkgdesc="Tool to rotate logfiles"
url="" url=""
arch="all" arch="all"
...@@ -14,7 +14,9 @@ source="$pkgver.tar.gz ...@@ -14,7 +14,9 @@ source="$pkgver.tar.gz
logrotate-3.7.9-atomic-create.patch logrotate-3.7.9-atomic-create.patch
logrotate-3.7.9-shred.patch logrotate-3.7.9-shred.patch
logrotate-3.7.9-statefile.patch logrotate-3.7.9-statefile.patch
logrotate.conf" logrotate.cron
build() { build() {
cd "$srcdir/$pkgname-$pkgver" cd "$srcdir/$pkgname-$pkgver"
...@@ -27,11 +29,16 @@ package() { ...@@ -27,11 +29,16 @@ package() {
install -Dm755 logrotate "$pkgdir"/usr/sbin/logrotate install -Dm755 logrotate "$pkgdir"/usr/sbin/logrotate
install -Dm644 logrotate.8 "$pkgdir"/usr/share/man/man8/logrotate.8 install -Dm644 logrotate.8 "$pkgdir"/usr/share/man/man8/logrotate.8
install -Dm644 ../logrotate.conf "$pkgdir"/etc/logrotate.conf install -Dm644 ../logrotate.conf "$pkgdir"/etc/logrotate.conf
install -Dm755 examples/logrotate.cron "$pkgdir"/etc/periodic/daily/logrotate install -Dm755 "$srcdir"/logrotate.cron \
"$pkgdir"/etc/periodic/daily/logrotate || return 1
install -Dm644 "$srcdir"/logrotate.confd \
} }
md5sums="ddd4dcf28c38b3ac6bc6ff4e0148308a logrotate-3.8.2.tar.gz md5sums="ddd4dcf28c38b3ac6bc6ff4e0148308a logrotate-3.8.2.tar.gz
0273f868dc4208eed0a442759d86e77c logrotate-3.7.9-atomic-create.patch 0273f868dc4208eed0a442759d86e77c logrotate-3.7.9-atomic-create.patch
74216579397b03c44d1d85dd233306d8 logrotate-3.7.9-shred.patch 74216579397b03c44d1d85dd233306d8 logrotate-3.7.9-shred.patch
82ebd23da8a7f0650a4c80577dbdc739 logrotate-3.7.9-statefile.patch 82ebd23da8a7f0650a4c80577dbdc739 logrotate-3.7.9-statefile.patch
fef6415a79a6fede8cf9b9b6b8410090 logrotate.conf" 7e9fad2c9b382a2370c11ef0c89f61c7 logrotate.cron
fef6415a79a6fede8cf9b9b6b8410090 logrotate.conf
e7e4b67d5c4bda49ff3c041834180c1e logrotate.confd"
# Limit cpu usage so monitoring software does not trigger CPU alarms
# This will only be used if package "cpulimit" is installed
if [ -f /etc/conf.d/logrotate ]; then
. /etc/conf.d/logrotate
if [ -x /usr/bin/cpulimit ] && [ -n "$CPULIMIT" ]; then
_cpulimit="/usr/bin/cpulimit --limit=$CPULIMIT"
$_cpulimit /usr/sbin/logrotate /etc/logrotate.conf
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
exit 0
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment