From 3b139d5b4dbf98f00454a79f9c247a018ce2d837 Mon Sep 17 00:00:00 2001 From: Benjamin Schieder Date: Fri, 28 Oct 2005 17:03:34 +0000 Subject: [PATCH] Benjamin Schieder: adjust logrotate to keep permissions and ownership of moved logs [2005101310011511427] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@6523 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/sysklogd/logrotate.cron | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/base/sysklogd/logrotate.cron b/package/base/sysklogd/logrotate.cron index ad270f5b3..99f03fc73 100644 --- a/package/base/sysklogd/logrotate.cron +++ b/package/base/sysklogd/logrotate.cron @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # --- ROCK-COPYRIGHT-NOTE-BEGIN --- # @@ -30,8 +30,12 @@ for filename in `find /var/log -type f ! -name '*.gz'` ; do for num in `seq 3 1` ; do [ -f "$filename-$num.gz" ] && mv "$filename-$num.gz" "$filename-$(( $num + 1 )).gz" done + read mode uid gid < <( stat -c "%a %u %g" "$filename" ) mv "$filename" "$filename-1" ; fuser -s -k -HUP "$filename-1" sleep 5 ; gzip "$filename-1" + touch "$filename" + chmod $mode "$filename" + chown $uid:$gid "$filename" else echo -e "$kilobytes\t$filename\t(don't rotate, less than 4 MB)" fi