Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate etc/periodic/daily/720.local-triggered-action @ 393:d83f877d7849
Variables that are set but empty need not to set again to a default empty value
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 23 Feb 2023 22:00:40 +0100 |
| parents | 8b1740deedbb |
| children | 7c597ee2c8d9 |
| 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 # |
|
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
|
6 # Weekly script to handle actions triggered by newly existing files. |
|
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 |
|
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
|
18 : ${daily_local_triggered_action_enable:=NO} |
|
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
|
19 : ${daily_local_triggered_action_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
|
20 # e.g. "service nginx onestatus" |
|
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_condition=} |
|
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
|
22 # e.g. "service nginx reload" |
|
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
|
23 : ${daily_local_triggered_action_action=} |
|
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
|
24 : ${daily_local_triggered_action_files_remove:=YES} |
|
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
|
25 |
|
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
|
26 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
|
27 [Yy][Ee][Ss]) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
28 echo |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
29 echo "Testing for newly renewed Let's Encrypt certificates" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 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
|
32 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
33 _do_action="" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
34 _remove_files="" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
35 |
|
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
|
36 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
|
37 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
|
38 _do_action="yes" |
|
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
|
39 case "${daily_local_triggered_action_files_remove}" 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
|
40 [Yy][Ee][Ss]) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 _remove_files="${_remove_files} ${_f}" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
43 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
|
44 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
|
45 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
|
46 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 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
|
48 if [ -z "${daily_local_triggered_action_action}" ]; then |
|
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
|
49 echo "ERROR: no deploy action defined" 1>&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
|
50 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
|
51 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
|
52 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
53 echo "Deploying newly renewed Let's Encrypt certificates" |
|
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
|
54 if [ -n "${daily_local_triggered_action_condition}" ]; then |
|
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
|
55 if ${daily_local_triggered_action_condition} ; then |
|
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
|
56 ${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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 else |
|
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
|
62 ${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
|
63 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
|
64 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
|
65 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
66 # 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
|
67 if [ ${rc} -eq 0 ]; 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
|
68 echo "Removing trigger files..." |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
69 for _rf in ${_remove_files}; do |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
70 rm -fv "${_rf}" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
71 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
|
72 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
|
73 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
|
74 echo "No newly renewed Let's Encrypt certificates found" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
75 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
|
76 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
77 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
78 *) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
79 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
|
80 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
81 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
|
82 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
83 exit ${rc} |
