Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate etc/periodic/daily/720.local-triggered-action @ 419:8c7f686ef66f
FIX: 720.local-triggered-action is a daily script, not a weekly one
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 17 Sep 2023 18:07:07 +0200 |
| parents | d2796c709dcf |
| children |
| rev | line source |
|---|---|
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 #!/bin/sh |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 # -*- indent-tabs-mode: nil; -*- |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 # @(#)@@SIMPLEVERSIONTAG@@ |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 # |
|
419
8c7f686ef66f
FIX: 720.local-triggered-action is a daily script, not a weekly one
Franz Glasner <fzglas.hg@dom66.de>
parents:
401
diff
changeset
|
6 # Daily script to handle actions triggered by newly existing files. |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
7 # This is e.g. convenient to notify a running daemon to reload because |
|
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
8 # of renewed certificates. |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 # If there is a global system configuration file, suck it in. |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 if [ -r /etc/defaults/periodic.conf ] |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 . /etc/defaults/periodic.conf |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 source_periodic_confs |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
18 # Set it to "YES" to enable this script |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
19 : ${daily_local_triggered_action_enable:=NO} |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
20 # The readability of any of the given files triggers the action |
|
393
d83f877d7849
Variables that are set but empty need not to set again to a default empty value
Franz Glasner <fzglas.hg@dom66.de>
parents:
391
diff
changeset
|
21 : ${daily_local_triggered_action_files=} |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
22 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
23 # A condition to check also before executing an action. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
24 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
25 # May be a Shell pipeline. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
26 # E.g. "service nginx onestatus || service apache2 onestatus" |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
27 # |
|
393
d83f877d7849
Variables that are set but empty need not to set again to a default empty value
Franz Glasner <fzglas.hg@dom66.de>
parents:
391
diff
changeset
|
28 : ${daily_local_triggered_action_condition=} |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
29 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
30 # The action to execute. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
31 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
32 # May be a Shell pipeline. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
33 # E.g. "{ service nginx onereload && service apache2 onereload ; } || true" |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
34 # |
|
393
d83f877d7849
Variables that are set but empty need not to set again to a default empty value
Franz Glasner <fzglas.hg@dom66.de>
parents:
391
diff
changeset
|
35 : ${daily_local_triggered_action_action=} |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
36 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
37 # By default all files triggering the action are removed. Set to "NO" if |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
38 # the files should remain. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
39 # |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
40 : ${daily_local_triggered_action_files_remove:=YES} |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
41 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
42 # If profiles are defined this script is re-executed once for for every |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
43 # profile with the profile as parameter. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
44 # No global options above besides "daily_local_triggered_action_enable" are |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
45 # used. |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
46 # Instead profile level configurations are named |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
47 # daily_local_triggered_action_<profile>_<option> . |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
48 # |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
49 : ${daily_local_triggered_action_profiles=} |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
50 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
51 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
52 #: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
53 #: Check whether a given profile is defined in the configuration |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
54 #: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
55 #: Args: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
56 #: $1: The profile to check for |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
57 #: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
58 #: Returns: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
59 #: 0: If the profile is found |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
60 #: 1: If the profile is not found |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
61 #: |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
62 _is_profile() { |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
63 local prof |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
64 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
65 for prof in ${daily_local_triggered_action_profiles}; do |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
66 if [ "${prof}" = "$1" ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
67 return 0 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
68 fi |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
69 done |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
70 return 1 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
71 } |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
72 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
73 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
74 rc=0 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
75 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
76 if [ -n "${daily_local_triggered_action_profiles}" ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
77 if [ $# -eq 1 ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
78 profile="$1" |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
79 if ! _is_profile "${profile}"; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
80 echo "ERROR: no such profile: ${profile}" 1>&2 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
81 exit 1 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
82 fi |
|
399
7dcf2ae34350
Map some extra characters in profile names to the underscore for proper Shell variable naming
Franz Glasner <fzglas.hg@dom66.de>
parents:
394
diff
changeset
|
83 profilevar="$(echo -n "${profile}" | /usr/bin/tr -- '-:.@/$*+~=!()|' '_')" |
|
400
357887df56f5
More thorough quoting of variable evaluation for profile processing
Franz Glasner <fzglas.hg@dom66.de>
parents:
399
diff
changeset
|
84 eval daily_local_triggered_action_files="\"\${daily_local_triggered_action_${profilevar}_files-}\"" |
|
357887df56f5
More thorough quoting of variable evaluation for profile processing
Franz Glasner <fzglas.hg@dom66.de>
parents:
399
diff
changeset
|
85 eval daily_local_triggered_action_condition="\"\${daily_local_triggered_action_${profilevar}_condition-}\"" |
|
357887df56f5
More thorough quoting of variable evaluation for profile processing
Franz Glasner <fzglas.hg@dom66.de>
parents:
399
diff
changeset
|
86 eval daily_local_triggered_action_action="\"\${daily_local_triggered_action_${profilevar}_action-}\"" |
|
399
7dcf2ae34350
Map some extra characters in profile names to the underscore for proper Shell variable naming
Franz Glasner <fzglas.hg@dom66.de>
parents:
394
diff
changeset
|
87 eval daily_local_triggered_action_files_remove="\${daily_local_triggered_action_${profilevar}_files_remove:-YES}" |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
88 elif [ $# -gt 1 ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
89 echo "ERROR: usage" 1>&2 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
90 exit 1 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
91 else |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
92 for _p in ${daily_local_triggered_action_profiles} ; do |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
93 # Re-execute with profile |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
94 $0 "${_p}" |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
95 _tmprc=$? |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
96 if [ ${_tmprc} -ne 0 ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
97 rc=${_tmprc} |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
98 fi |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
99 done |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
100 exit ${rc} |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
101 fi |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
102 fi |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
103 |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
104 case "${daily_local_triggered_action_enable}" in |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
105 [Yy][Ee][Ss]) |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
106 if [ -z "${profile}" ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
107 profilestr= |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
108 else |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
109 profilestr=" (${profile})" |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
110 fi |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
111 |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
112 echo |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
113 echo "Testing for newly triggered action${profilestr}" |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
114 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
115 _do_action="" |
|
401
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
116 TRIGGER_FILES="" |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
117 |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
118 for _f in ${daily_local_triggered_action_files}; do |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
119 if [ -r "${_f}" ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
120 _do_action="yes" |
|
401
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
121 TRIGGER_FILES="${TRIGGER_FILES} ${_f}" |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
122 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
123 done |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
124 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
125 if [ "${_do_action}" = "yes" ]; then |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
126 if [ -z "${daily_local_triggered_action_action}" ]; then |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
127 echo "ERROR: no action defined${profilestr}" 1>&2 |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
128 exit 2 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
129 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
130 |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
131 echo "Executing action because valid trigger found${profilestr}" |
|
391
8b1740deedbb
Refactor: Renamed the weekly 800.local-certbot-post-deploy to a daily 720.local-triggered-action.
Franz Glasner <fzglas.hg@dom66.de>
parents:
387
diff
changeset
|
132 if [ -n "${daily_local_triggered_action_condition}" ]; then |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
133 eval ${daily_local_triggered_action_condition} |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
134 _tmprc=$? |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
135 if [ ${_tmprc} -eq 0 ]; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
136 eval ${daily_local_triggered_action_action} |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
137 rc=$? |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
138 if [ ${rc} -ne 0 ] ; then |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
139 echo "ERROR: Action failed${profilestr}" 1>&2 |
|
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
140 fi |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
141 else |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
142 rc=1 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
143 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
144 else |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
145 eval ${daily_local_triggered_action_action} |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
146 rc=$? |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
147 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
148 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
149 # Remove trigger files if configured to do so |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
150 if [ ${rc} -eq 0 ]; then |
|
401
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
151 case "${daily_local_triggered_action_files_remove}" in |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
152 [Yy][Ee][Ss]) |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
153 echo "Removing trigger files${profilestr} ..." |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
154 for _rf in ${TRIGGER_FILES}; do |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
155 rm -fv "${_rf}" |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
156 done |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
157 ;; |
|
d2796c709dcf
Make the list of existing trigger files available to conditions and actions
Franz Glasner <fzglas.hg@dom66.de>
parents:
400
diff
changeset
|
158 esac |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
159 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
160 else |
|
394
7c597ee2c8d9
Implement profile support for the daily script 720.local-triggered-action
Franz Glasner <fzglas.hg@dom66.de>
parents:
393
diff
changeset
|
161 echo "No action triggers found${profilestr}" |
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
162 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
163 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
164 *) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
165 rc=0 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
166 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
167 esac |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
168 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
169 exit ${rc} |
