Mercurial > public > ssdt-docker
view scripts/exec-all-projects.sh @ 426:bb2b3172d497
USASR-5154 updated email
author | belknapSSDT <zach.belknap@mcoecn.org> |
---|---|
date | Wed, 27 Sep 2023 11:22:56 -0400 |
parents | f6bea554980e |
children |
line wrap: on
line source
#!/bin/bash # Scans for docker projects in specified parent path and # executes the specified command. # # The first parameter specifices theparent directory to search for # docker-compose.yml # files must be specified. # # # the second paramter specifies the command to execute against each # compose project. # # examples: # # /ssdt/scripts/exec-all-projects.sh /data/prod docker-compose ps # # executes "docker-compose ps" against all projects under /data/prod # # /ssdt/scripts/exec-all-projects.sh /data/prod /ssdt/ /ssdt/scripts/backup-usas.sh # # runs backup-usas.sh script against all projects under /data/prod # # /ssdt/scripts/exec-all-projects.sh /data/prod "/ssdt/scripts/capture.sh | /ssdt/scripts/send.sh -" # # captures the log files from all containers and sends one log file per project # to the SSDT support server. # ## source "${SSDT_SCRIPTS:-$(dirname "${BASH_SOURCE[0]}")}/.functions.sh" : ${1?"Usage: {parent path} [command]"} ORIGINALDIR=$PWD PARENTDIR=$1 shift COMMAND=$@ for f in $(find $PARENTDIR -name docker-compose.yml) do projectdir=`dirname $f` project=`basename $projectdir` cd $projectdir echo -e "----\n$executing $COMMAND on $project \n----" bash -c "${COMMAND}" echo "" done cd $ORIGINALDIR