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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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}