faa77b77c8
It is now possible to override and explicitly specify the shell you would like used when executing cron tasks. This is accomplished with the NEXTCLOUD_EXEC_SHELL environment variable, which defaults to bash. You can also override and customize the arguments provided to that shell executable via NEXTCLOUD_EXEC_SHELL_ARGS, which defaults to "-c". See documentation for more detail and examples. Fixes #6
35 lines
1.1 KiB
Bash
Executable file
35 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
[[ ! -z "$DEBUG" ]] && set -x
|
|
|
|
source /nextcloud-exec.sh
|
|
|
|
echo "-------------------------------------------------------------"
|
|
echo " Executing Cron Tasks: $(date)"
|
|
echo "-------------------------------------------------------------"
|
|
|
|
# Obtain the ID of the container. We do this each iteration since the Nextcloud container may be
|
|
# recreated while the cron container is still running. We will need to check for a new container ID
|
|
# each time.
|
|
containerId="$(/find-container.sh)"
|
|
if [[ -z "$containerId" ]]; then
|
|
echo "ERROR: Unable to find the Nextcloud container"
|
|
exit 1
|
|
fi
|
|
|
|
echo "> Nextcloud Container ID: ${containerId}"
|
|
|
|
run_scripts_in_dir() {
|
|
cd "$1"
|
|
for script in *.sh; do
|
|
echo "> Running Script: $script"
|
|
nextcloud_exec "$containerId" "$(< $script)"
|
|
done
|
|
}
|
|
|
|
# Loop through all shell scripts and execute the contents of those scripts in the Nextcloud
|
|
# container. It's done this way so that the user may mount more scripts to be executed in addition
|
|
# to the default ones.
|
|
run_scripts_in_dir /cron-scripts
|
|
|
|
echo "> Done"
|