OPNsense Forum

International Forums => German - Deutsch => Topic started by: Matscher_Leipzig on May 01, 2025, 09:51:00 PM

Title: Cron Job mit Parameter Übergabe an ein script
Post by: Matscher_Leipzig on May 01, 2025, 09:51:00 PM
Hallo zusammen,

ich bin neu hier im Forum und freu mich das ich hier sein darf. Ich arbeite in der IT und habe bereits erste Erfahrungen mit der OPNSense gesammelt. Leider komme ich wirklich nicht weiter...3h mit der KI chatten hilft hier auch wenig.

Problem: ICh will die Netze der Kinder von der Zeit her steuern. Soweit auch kein Problem mit Schedules. Doof nur, das beim streamen die states erhalten bleiben. Also müssen die states weg. Soweit so klar.Wenn man es richtig machen will, pflegt man das auf der GUI im Cron-Bereich.

Also fix ne neue action angelegt und zwar hier:
/usr/local/opnsense/service/conf/actions.d => actions_states.conf


[elli]
command:/usr/local/bin/bash /usr/local/opnsense/scripts/custom/state_del.sh %s
parameters:kind
type:script_output
message:kill states %s
description:kill states Amazon

[luisa]
command:/usr/local/bin/bash /usr/local/opnsense/scripts/custom/state_del.sh %s
parameters:kind
type:script_output
message:kill states %s
description:kill states Amazon

und ein Script gebaut und hier abgelegt: /usr/local/opnsense/scripts/custom =>state_del.sh

#!bin/bash

KIND=$1

# Debugging: Die Parameter anzeigen
echo "Erhaltener Parameter: $KIND"


# Auswerten der Kinder
if [ "$KIND" = "elli" ]; then
    echo "$(date) Starte Prozess mit Wert: $KIND" >> /var/log/reset_states.log
    pfctl -k 10.10.20.12/32 -k 0.0.0.0/0
elif [ "$KIND" = "luisa" ]; then
    echo "$(date) Starte Prozess mit Wert: $KIND" >> /var/log/reset_states.log
    pfctl -k 10.10.20.11/32 -k 0.0.0.0/0
elif [ "$KIND" = "samsung" ]; then
    echo "$(date) Starte Prozess mit Wert: $KIND" >> /var/log/reset_states.log
    pfctl -k 10.10.20.26/32 -k 0.0.0.0/0
else
    echo "wrong Parameter: $KIND"
    echo "Bitte nutze 'elli' oder 'luisa' als Parameter."
fi

# Abschlussnachricht
echo "Skript beendet."
----------------------------------------------------------

das Script für sich allein funktioniert einwandfrei :-)

Im Zusammenspiel mit cron wird der Wert '%s' an das script übergeben, was völliger Quatsch ist.

Ich brauch dringend jemanden der mir sagt, wo die Nadel im Heuhaufen liegt ;-)

DANKE !
Matthias





Title: Re: Cron Job mit Parameter Übergabe an ein script
Post by: meyergru on May 01, 2025, 11:14:52 PM
Du brauchst nur eine Action, die müsste so aussehen:

[kill_states]
command:/usr/local/bin/bash /usr/local/opnsense/scripts/custom/state_del.sh
parameters:%s
type:script_output
message:kill states %s
description:kill states Amazon

Und Du bestimmst den Wert des Parameters, indem Du in der Cron-Job-Definition neben der Zeit einen Wert für Parameter einträgst, z.B. "elli" oder "luisa".
Title: Re: Cron Job mit Parameter Übergabe an ein script
Post by: Matscher_Leipzig on May 02, 2025, 06:04:19 PM
Du hast mir den Tag gerettet... Danke