bundles/cron: provide some environment, also manage /etc/crontab
All checks were successful
bundlewrap/pipeline/head This commit looks good
All checks were successful
bundlewrap/pipeline/head This commit looks good
This commit is contained in:
parent
1ffe8bd23e
commit
67386d9efa
4 changed files with 50 additions and 2 deletions
14
bundles/cron/files/cron_template
Normal file
14
bundles/cron/files/cron_template
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# __ ____
|
||||||
|
# / /_ __ ______ ____/ / /__ _ ___________ _____
|
||||||
|
# / __ \/ / / / __ \/ __ / / _ \ | /| / / ___/ __ `/ __ \
|
||||||
|
# / /_/ / /_/ / / / / /_/ / / __/ |/ |/ / / / /_/ / /_/ /
|
||||||
|
#/_.___/\__,_/_/ /_/\__,_/_/\___/|__/|__/_/ \__,_/ .___/
|
||||||
|
# /_/
|
||||||
|
#
|
||||||
|
# CAUTION! This file is managed with bundlewrap.
|
||||||
|
# Any manual edits will be lost!
|
||||||
|
|
||||||
|
SHELL=/bin/sh
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|
||||||
|
${cron}
|
17
bundles/cron/files/crontab
Normal file
17
bundles/cron/files/crontab
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# __ ____
|
||||||
|
# / /_ __ ______ ____/ / /__ _ ___________ _____
|
||||||
|
# / __ \/ / / / __ \/ __ / / _ \ | /| / / ___/ __ `/ __ \
|
||||||
|
# / /_/ / /_/ / / / / /_/ / / __/ |/ |/ / / / /_/ / /_/ /
|
||||||
|
#/_.___/\__,_/_/ /_/\__,_/_/\___/|__/|__/_/ \__,_/ .___/
|
||||||
|
# /_/
|
||||||
|
#
|
||||||
|
# CAUTION! This file is managed with bundlewrap.
|
||||||
|
# Any manual edits will be lost!
|
||||||
|
|
||||||
|
SHELL=/bin/sh
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|
||||||
|
${min} * * * * root cd / && run-parts --report /etc/cron.hourly
|
||||||
|
${min} 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
|
||||||
|
${min} 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
|
||||||
|
${min} 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
|
|
@ -1,4 +1,11 @@
|
||||||
files = {}
|
files = {
|
||||||
|
'/etc/crontab': {
|
||||||
|
'content_type': 'mako',
|
||||||
|
'context': {
|
||||||
|
'min': (node.magic_number%60),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
directories = {
|
directories = {
|
||||||
'/etc/cron.d': {
|
'/etc/cron.d': {
|
||||||
|
@ -11,5 +18,9 @@ directories = {
|
||||||
|
|
||||||
for crontab, content in node.metadata.get('cron', {}).items():
|
for crontab, content in node.metadata.get('cron', {}).items():
|
||||||
files['/etc/cron.d/{}'.format(crontab)] = {
|
files['/etc/cron.d/{}'.format(crontab)] = {
|
||||||
'content': content + "\n",
|
'source': 'cron_template',
|
||||||
|
'content_type': 'mako',
|
||||||
|
'context': {
|
||||||
|
'cron': content,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,12 @@ nodes['htz.ex42-1048908'] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'cron': {
|
||||||
|
# TODO move to a proper bundle
|
||||||
|
'backup': '0 1 * * * root /root/backup.sh',
|
||||||
|
'restart_mautrix_whatsapp': '0 3 * * * root systemctl restart matrix-bridge-whatsapp.service',
|
||||||
|
'telekom_nervkram': vault.decrypt('encrypt$gAAAAABfqXi23M96wrSLhqlbhqgePYX06LjPXfyQU2y_07kqYYLztj_PhS1-dk4r5FiiL2Ofmx5iCKW1sZNqiQSuHj2uKaitH0GnwHqj5CI2JwkAS9HrFxw=').format_into('0 0 * * * root date | mail -s \'daily test mail \' -r postmaster@mx0.kunbox.net {}'),
|
||||||
|
},
|
||||||
'gitea': {
|
'gitea': {
|
||||||
'version': '1.12.5',
|
'version': '1.12.5',
|
||||||
'sha256': '8ed8bff1f34d8012cab92943214701c10764ffaca102e311a3297edbb8fce940',
|
'sha256': '8ed8bff1f34d8012cab92943214701c10764ffaca102e311a3297edbb8fce940',
|
||||||
|
|
Loading…
Reference in a new issue