Last active
February 28, 2018 15:20
-
-
Save alexs77/702325f4f724a745a64e5736c7b0ee21 to your computer and use it in GitHub Desktop.
Rundeck Job for removing E-Mails
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<joblist> | |
<job> | |
<context> | |
<options preserveOrder='true'> | |
<option delimiter=' ' multivalueAllSelected='true' multivalued='true' name='patterns' required='true'> | |
<description>Pattern aus der `mailq` Zeile.</description> | |
</option> | |
</options> | |
</context> | |
<description>Lösche E-Mails, deren Mail Queue Zeile auf das angegebene Muster passt.</description> | |
<dispatch> | |
<excludePrecedence>true</excludePrecedence> | |
<keepgoing>true</keepgoing> | |
<rankOrder>ascending</rankOrder> | |
<successOnEmptyNodeFilter>false</successOnEmptyNodeFilter> | |
<threadcount>1</threadcount> | |
</dispatch> | |
<executionEnabled>true</executionEnabled> | |
<group>Mails</group> | |
<id>4ba6dcaa-f968-4860-9de8-7d801e001dbc</id> | |
<loglevel>INFO</loglevel> | |
<name>E-Mails entfernen</name> | |
<nodeFilterEditable>false</nodeFilterEditable> | |
<nodefilters> | |
<filter>tags:email name:ews45</filter> | |
</nodefilters> | |
<nodesSelectedByDefault>true</nodesSelectedByDefault> | |
<notification> | |
<onavgduration> | |
<email recipients='${job.username} <${job.user.email}>' subject='"${job.name}" #${job.execid} läuft ungewöhnlich lange.' /> | |
</onavgduration> | |
<onfailure> | |
<email attachLog='true' recipients='${job.username} <${job.user.email}>' subject='"${job.name}" #${job.execid} fehlgeschlagen!' /> | |
</onfailure> | |
<onsuccess> | |
<email attachLog='true' recipients='${job.username} <${job.user.email}>' subject='"${job.name}" #${job.execid} erfolgreich.' /> | |
</onsuccess> | |
</notification> | |
<scheduleEnabled>false</scheduleEnabled> | |
<sequence keepgoing='true' strategy='node-first'> | |
<command> | |
<description>E-Mails löschen</description> | |
<fileExtension>.sh</fileExtension> | |
<script><![CDATA[#! /usr/bin/env bash | |
echo "================================================================================" | |
printf "Lösche E-Mails deren Queue ID Zeile auf Muster passen auf System %s.\n\n" "$( hostname )" | |
for pattern in $@; do | |
printf "Lösche E-Mails die auf '%s' matchen.\n\n" "$pattern" | |
ids=$( mailq | awk '/^[0-9A-AF]/' | awk "/$pattern/ "'{print $1}' | tr -d \!\* ) | |
printf "IDs:\n%s\n\n" "$ids" | |
if [[ -n "$ids" ]]; then | |
#echo "$ids" | postsuper -d - | |
echo "$ids" | |
fi | |
printf "\n\n\n" | |
done | |
echo "********************************************************************************" | |
exit $? | |
# EOF]]></script> | |
<scriptargs>${option.patterns}</scriptargs> | |
</command> | |
</sequence> | |
<uuid>4ba6dcaa-f968-4860-9de8-7d801e001dbc</uuid> | |
</job> | |
</joblist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- description: Lösche E-Mails, deren Mail Queue Zeile auf das angegebene Muster passt. | |
executionEnabled: true | |
group: Mails | |
id: 4ba6dcaa-f968-4860-9de8-7d801e001dbc | |
loglevel: INFO | |
name: E-Mails entfernen | |
nodeFilterEditable: false | |
nodefilters: | |
dispatch: | |
excludePrecedence: true | |
keepgoing: true | |
rankOrder: ascending | |
successOnEmptyNodeFilter: false | |
threadcount: 1 | |
filter: tags:email name:ews45 | |
nodesSelectedByDefault: true | |
notification: | |
onavgduration: | |
email: | |
recipients: ${job.username} <${job.user.email}> | |
subject: '"${job.name}" #${job.execid} läuft ungewöhnlich lange.' | |
onfailure: | |
email: | |
attachLog: true | |
recipients: ${job.username} <${job.user.email}> | |
subject: '"${job.name}" #${job.execid} fehlgeschlagen!' | |
onsuccess: | |
email: | |
attachLog: true | |
recipients: ${job.username} <${job.user.email}> | |
subject: '"${job.name}" #${job.execid} erfolgreich.' | |
options: | |
- delimiter: ' ' | |
description: Pattern aus der `mailq` Zeile. | |
multivalueAllSelected: true | |
multivalued: true | |
name: patterns | |
required: true | |
scheduleEnabled: false | |
sequence: | |
commands: | |
- args: ${option.patterns} | |
description: E-Mails löschen | |
fileExtension: .sh | |
script: |- | |
#! /usr/bin/env bash | |
echo "================================================================================" | |
printf "Lösche E-Mails deren Queue ID Zeile auf Muster passen auf System %s.\n\n" "$( hostname )" | |
for pattern in $@; do | |
printf "Lösche E-Mails die auf '%s' matchen.\n\n" "$pattern" | |
ids=$( mailq | awk '/^[0-9A-AF]/' | awk "/$pattern/ "'{print $1}' | tr -d \!\* ) | |
printf "IDs:\n%s\n\n" "$ids" | |
if [[ -n "$ids" ]]; then | |
#echo "$ids" | postsuper -d - | |
echo "$ids" | |
fi | |
printf "\n\n\n" | |
done | |
echo "********************************************************************************" | |
exit $? | |
# EOF | |
keepgoing: true | |
strategy: node-first | |
uuid: 4ba6dcaa-f968-4860-9de8-7d801e001dbc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment