RunCommand operation
-
Executes a shell command in a Unix environment using `/bin/sh`.
-
The environment user executes the command from their home directory.
-
The Delphix Continuous Data Engine captures and logs all command output.
-
In case of script failure, output is displayed in the Delphix Continuous Data UI and CLI for debugging.
-
Success criteria: The command must exit with an exit code of 0. Any other exit codes indicate a failure.
Examples of RunCommand operations
-
Direct command input:
remove_dir="$DIRECTORY_TO_REMOVE_ENVIRONMENT_VARIABLE"
if test -d "$remove_dir"; then
rm -rf "$remove_dir" || exit 1
fi
exit 0
-
Running existing scripts with executable permission:
/opt/app/oracle/product/10.2.0.5/db_1/dbs/myscript.sh "$ARG_ENVIRONMENT_VARIABLE" "second argument in double quotes" 'third argument in single quotes'
RunBash operation
-
Executes a Bash command in a Unix environment using a bash binary provided by Delphix, unless it's a Linux environment, in which case it uses the system's native bash binary.
-
Follows the same execution and logging criteria as the `RunCommand` operation.
-
Success criteria: The Bash command must exit with an exit code of 0.
Example of RunBash operation
remove_dir="$DIRECTORY_TO_REMOVE_ENVIRONMENT_VARIABLE"
# Bashisms are allowed here!
if [[ -d "$remove_dir" ]]; then
rm -rf "$remove_dir" || exit 1
fi
exit 0
Running processes in the background
-
To detach a process from the Delphix Continuous Data Engine, use the `nohup` command and process backgrounding.
Redirect stdout and stderr to ensure the Delphix Continuous Data Engine does not block.
Examples of running background processes
Acceptable examples
nohup python file.py 1>/dev/null 2>&1 & # both stdout and stderr redirected
Deniable examples
nohup python file.py & # no redirection
nohup python file.py 2>&1 & # only stderr is redirected
nohup python file.py 1>/dev/null & # only stdout is redirected
nohup python file.py 2>/dev/null & # only stdout is redirected