forked from evolix/ansible-roles
first step to improve userlogrotate in Debian 9
This commit is contained in:
parent
e10e971dbe
commit
5bbec8f829
|
@ -23,11 +23,6 @@ for log in access.log access-*.log error.log; do
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
for i in `ls -1 -d $HOMEPREFIX/*/log/php.log 2>/dev/null | grep -v \.bak\.`; do
|
|
||||||
USER=`user_for $i`
|
|
||||||
rotate $i www-$USER:$USER
|
|
||||||
done
|
|
||||||
|
|
||||||
for log in production.log delayed_job.log development.log test.log; do
|
for log in production.log delayed_job.log development.log test.log; do
|
||||||
for i in `ls -1 -d $HOMEPREFIX/*/www/{,current/}log/$log 2>/dev/null | grep -v \.bak\.`; do
|
for i in `ls -1 -d $HOMEPREFIX/*/www/{,current/}log/$log 2>/dev/null | grep -v \.bak\.`; do
|
||||||
USER=`user_for $i`
|
USER=`user_for $i`
|
||||||
|
@ -35,4 +30,8 @@ for log in production.log delayed_job.log development.log test.log; do
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
apache2ctl restart > /dev/null
|
if /etc/init.d/apache2 status > /dev/null ; then \
|
||||||
|
/etc/init.d/apache2 reload > /dev/null; \
|
||||||
|
fi;
|
||||||
|
|
||||||
|
test -x /usr/sbin/nginx && invoke-rc.d nginx rotate >/dev/null 2>&1
|
||||||
|
|
38
packweb-apache/files/userlogrotate_jessie
Normal file
38
packweb-apache/files/userlogrotate_jessie
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DATE=`/bin/date +"%d-%m-%Y"`
|
||||||
|
HOMEPREFIX="/home"
|
||||||
|
|
||||||
|
rotate () {
|
||||||
|
mv $1 $1.$DATE
|
||||||
|
gzip $1.$DATE
|
||||||
|
touch $1
|
||||||
|
chown $2 $1
|
||||||
|
chmod g+r $1
|
||||||
|
}
|
||||||
|
|
||||||
|
user_for() {
|
||||||
|
homedir=`echo $1 | sed "s#\($HOMEPREFIX/\([^/]\+\)\).*#\1#"`
|
||||||
|
stat -L -c '%G' $homedir
|
||||||
|
}
|
||||||
|
|
||||||
|
for log in access.log access-*.log error.log; do
|
||||||
|
for i in `ls -1 -d $HOMEPREFIX/*/log/$log 2>/dev/null | grep -v \.bak\.`; do
|
||||||
|
USER=`user_for $i`
|
||||||
|
rotate $i root:$USER
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in `ls -1 -d $HOMEPREFIX/*/log/php.log 2>/dev/null | grep -v \.bak\.`; do
|
||||||
|
USER=`user_for $i`
|
||||||
|
rotate $i www-$USER:$USER
|
||||||
|
done
|
||||||
|
|
||||||
|
for log in production.log delayed_job.log development.log test.log; do
|
||||||
|
for i in `ls -1 -d $HOMEPREFIX/*/www/{,current/}log/$log 2>/dev/null | grep -v \.bak\.`; do
|
||||||
|
USER=`user_for $i`
|
||||||
|
rotate $i $USER:$USER
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
apache2ctl restart > /dev/null
|
|
@ -1,5 +1,10 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
- fail:
|
||||||
|
msg: only compatible with Debian >= 8
|
||||||
|
when:
|
||||||
|
- ansible_distribution != "Debian" or ansible_distribution_major_version | version_compare('8', '<')
|
||||||
|
|
||||||
- name: Include apache role
|
- name: Include apache role
|
||||||
include_role:
|
include_role:
|
||||||
name: apache
|
name: apache
|
||||||
|
@ -30,11 +35,19 @@
|
||||||
- access.log
|
- access.log
|
||||||
- error.log
|
- error.log
|
||||||
|
|
||||||
- name: Install userlogrotate
|
- name: "Install userlogrotate (jessie)"
|
||||||
|
copy:
|
||||||
|
src: userlogrotate_jessie
|
||||||
|
dest: /etc/cron.weekly/userlogrotate
|
||||||
|
mode: "0755"
|
||||||
|
when: ansible_distribution_release == "jessie"
|
||||||
|
|
||||||
|
- name: "Install userlogrotate (Debian 9 or later)"
|
||||||
copy:
|
copy:
|
||||||
src: userlogrotate
|
src: userlogrotate
|
||||||
dest: /etc/cron.weekly/userlogrotate
|
dest: /etc/cron.weekly/userlogrotate
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
when: ansible_distribution_major_version | version_compare('9', '>=')
|
||||||
|
|
||||||
- name: Force DIR_MODE to 0750 in /etc/adduser.conf
|
- name: Force DIR_MODE to 0750 in /etc/adduser.conf
|
||||||
lineinfile:
|
lineinfile:
|
||||||
|
|
Loading…
Reference in a new issue