Config-Tool gesucht

MasterEvil

New Member
Ich brauche ein Tool mit dem ich zum Beispiel für postgrey eine Zeile (in diesem Fall die E-Mail-Adresse) in eine Datei schreiben kann falls diese noch nicht existiert. Bzw. muss das Löschen eine übereinstimmenden Zeile ebenfalls möglich sein.
Im Prinzip so etwas wie postconf für postifx.

Bevor ich mich jetzt Stunden lang dran setze und das selber zusammen frickel frag ich lieber, gibt es so etwas bereits?

mfg
 
Also doch die selbst frickel Lösung .. :rolleyes:

Für die, die etwas ähnliches suchen, mit folgendem entfernt man eine bestimmte Zeile aus einer Datei:
Code:
sed -i "/^ZU_ENTFERNENDER_AUSDRUCK\$/d" DATEI

Falls jemand genau die Lösung sucht die ich brauchte, hinzufügen und entfernen von whitelist einträgen etc. kann vielleicht folgendes script gebrauchen:

Code:
#!/bin/bash

WL_SPAM="/etc/spamassassin/whitelist.cf"
WL_VIRS="/etc/amavis/whitelist_reciepient.lst"
WL_GREY="/etc/postgrey/whitelist_recipients"

remove_line()
{
    FILE="$1"
    if [ -e $FILE ]; then
        shift 1
        echo "sed -i \"/^$@\$/d\" $FILE"
        `sed -i "/^$@\$/d" $FILE`
    fi
}

add_line()
{
    remove_line $@
    FILE="$1"
    shift 1
    echo "echo \"$@\" >> $FILE"
    echo "$@" >> $FILE
}

echo_help()
{
    echo "usage: $0 spam|grey|virus add|remove expression"
    echo "or   : $0 custom add|remove file expression"
}

if [ $# -gt 3 ]; then
    case "$1" in

        spam)
            case "$2" in

                add)
                    add_line $WL_SPAM "all_spam_to" $3
                    ;;

                remove)
                    remove_line $WL_SPAM "all_spam_to" $3
                    ;;

                *)
                    echo_help
                    ;;
            esac
            ;;

        grey)
            case "$2" in

                add)
                    add_line $WL_GREY $3
                    ;;

                remove)
                    remove_line $WL_GREY $3
                    ;;

                *)
                    echo_help
                    ;;
            esac
            ;;

        virus)
            case "$2" in

                add)
                    add_line $WL_VIRS $3
                    ;;

                remove)
                    remove_line $WL_VIRS $3
                    ;;

                *)
                    echo_help
                    ;;
            esac
            ;;
        custom)
            if [ $# -gt 4 ]; then
                case "$2" in

                    add)
                        shift 2
                        add_line $@
                        ;;

                    remove)
                        shift 2
                        remove_line $@
                        ;;

                    *)
                        echo_help
                        ;;
                esac
            else
                echo_help
            fi
            ;;

        *)
            echo_help
            ;;
    esac

else
    echo_help
fi
 
Last edited by a moderator:
Back
Top