BUG10955: Add dma-cleanup-spool script to dma
mbox

Message ID 1447244643-3107-1-git-send-email-alexander.marx@ipfire.org
State New
Headers show

Message

Alexander Marx Nov. 11, 2015, 11:24 p.m. UTC
This file cleans up the spool directory from DMA Mailservice after defined period of time
Otherwise the spool dir may be flooded

Signed-off-by: Alexander Marx <alexander.marx@ipfire.org>
---
 dma/dma-cleanup-spool | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 dma/dma.nm            |  4 ++++
 2 files changed, 52 insertions(+)
 create mode 100644 dma/dma-cleanup-spool

Comments

Michael Tremer Nov. 12, 2015, 10:07 p.m. UTC | #1
Thank you. Very well done. Merged.

-Michael

On Wed, 2015-11-11 at 13:24 +0100, Alexander Marx wrote:
> This file cleans up the spool directory from DMA Mailservice after
> defined period of time
> Otherwise the spool dir may be flooded
> 
> Signed-off-by: Alexander Marx <alexander.marx@ipfire.org>
> ---
>  dma/dma-cleanup-spool | 48
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  dma/dma.nm            |  4 ++++
>  2 files changed, 52 insertions(+)
>  create mode 100644 dma/dma-cleanup-spool
> 
> diff --git a/dma/dma-cleanup-spool b/dma/dma-cleanup-spool
> new file mode 100644
> index 0000000..92af30c
> --- /dev/null
> +++ b/dma/dma-cleanup-spool
> @@ -0,0 +1,48 @@
> +#!/bin/bash
> +####################################################################
> ###########
> +#                                                                   
>           #
> +# IPFire.org - A linux based firewall                               
>           #
> +# Copyright (C) 2015 Michael Tremer <michael.tremer@ipfire.org>     
>           #
> +#                                                                   
>           #
> +# This program is free software: you can redistribute it and/or
> modify        #
> +# it under the terms of the GNU General Public License as published
> by        #
> +# the Free Software Foundation, either version 3 of the License, or 
>           #
> +# (at your option) any later version.                               
>           #
> +#                                                                   
>           #
> +# This program is distributed in the hope that it will be useful,   
>           #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of    
>           #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     
>           #
> +# GNU General Public License for more details.                      
>           #
> +#                                                                   
>           #
> +# You should have received a copy of the GNU General Public License 
>           #
> +# along with this program.  If not, see <
> http://www.gnu.org/licenses/>.       #
> +#                                                                   
>           #
> +####################################################################
> ###########
> +
> +SPOOL_DIR="/var/spool/dma"
> +
> +find_messages() {
> +	find "${SPOOL_DIR}" -type f -name "M*" -mtime +30
> +}
> +
> +remove_message() {
> +	local f_message="${1}"
> +	local f_queue="${f_message/${SPOOL_DIR}\/M/${SPOOL_DIR}\/Q}"
> +
> +	# If a message file and a queue file exist, delete both
> +	[ -f "${f_message}" ] || return 1
> +	[ -f "${f_queue}" ] || return 1
> +
> +	rm -f "${f_message}" "${f_queue}"
> +	return 0
> +}
> +
> +main() {
> +	for message in $(find_messages); do
> +		remove_message "${message}"
> +	done
> +
> +	return 0
> +}
> +
> +main || exit $?
> diff --git a/dma/dma.nm b/dma/dma.nm
> index 79fe021..259421a 100644
> --- a/dma/dma.nm
> +++ b/dma/dma.nm
> @@ -35,6 +35,10 @@ build
>  
>  	make_install_targets += PREFIX=%{prefix} \
>  		sendmail-link mailq-link install-spool-dirs install
> -etc
> +
> +	install_cmds
> +		install -m 755 %{DIR_SOURCE}/dma-cleanup-spool
> %{BUILDROOT}%{sbindir}
> +	end
>  end
>  
>  packages