mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
dma: Add script that cleans up stale emails in the spool directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
48
config/dma/dma-cleanup-spool
Normal file
48
config/dma/dma-cleanup-spool
Normal file
@@ -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 $?
|
||||
@@ -1,6 +1,7 @@
|
||||
etc/alternatives/sendmail
|
||||
usr/lib/dma-mbox-create
|
||||
usr/sbin/dma
|
||||
usr/sbin/dma-cleanup-spool
|
||||
usr/sbin/mailq
|
||||
usr/sbin/sendmail
|
||||
usr/sbin/sendmail.dma
|
||||
|
||||
1
lfs/dma
1
lfs/dma
@@ -78,6 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
cd $(DIR_APP) && sed -i '/CONFDIR/s/etc\/dma/var\/ipfire\/dma/g' Makefile
|
||||
cd $(DIR_APP) && make
|
||||
cd $(DIR_APP) && make install mailq-link install-spool-dirs install-etc
|
||||
install -v -m 755 $(DIR_SRC)/config/dma/dma-cleanup-spool /usr/sbin
|
||||
chown -R nobody.nobody /var/ipfire/dma
|
||||
chown nobody.root /var/ipfire/dma/auth.conf
|
||||
ln -svf dma /usr/sbin/sendmail.dma
|
||||
|
||||
Reference in New Issue
Block a user