Skip to content

Commit

Permalink
Merge pull request #511 from Josue-T/patch-10
Browse files Browse the repository at this point in the history
Add su directive as option for logroate
  • Loading branch information
Psycojoker committed Sep 5, 2018
2 parents 6d53225 + 22cff38 commit c3d8da7
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion data/helpers.d/backend
@@ -1,8 +1,9 @@
# Use logrotate to manage the logfile
#
# usage: ynh_use_logrotate [logfile] [--non-append]
# usage: ynh_use_logrotate [logfile] [--non-append|--append] [specific_user/specific_group]
# | arg: logfile - absolute path of logfile
# | arg: --non-append - (Option) Replace the config file instead of appending this new config.
# | arg: specific_user : run logrotate as the specified user and group. If not specified logrotate is runned as root.
#
# If no argument provided, a standard directory will be use. /var/log/${app}
# You can provide a path with the directory only or with the logfile.
Expand All @@ -13,6 +14,7 @@
# Unless you use the option --non-append
ynh_use_logrotate () {
local customtee="tee -a"
local user_group="${3:-}"
if [ $# -gt 0 ] && [ "$1" == "--non-append" ]; then
customtee="tee"
# Destroy this argument for the next command.
Expand All @@ -29,6 +31,12 @@ ynh_use_logrotate () {
else
local logfile="/var/log/${app}/*.log" # Without argument, use a defaut directory in /var/log
fi
local su_directive=""
if [[ -n $user_group ]]; then
su_directive=" # Run logorotate as specific user - group
su ${user_group%/*} ${user_group#*/}"
fi

cat > ./${app}-logrotate << EOF # Build a config file for logrotate
$logfile {
# Rotate if the logfile exceeds 100Mo
Expand All @@ -47,6 +55,7 @@ $logfile {
notifempty
# Keep old logs in the same dir
noolddir
$su_directive
}
EOF
sudo mkdir -p $(dirname "$logfile") # Create the log directory, if not exist
Expand Down

0 comments on commit c3d8da7

Please sign in to comment.