From: Mark Wooding Date: Thu, 28 Aug 2014 13:53:39 +0000 (+0100) Subject: bin/run-mirrors: Command line lists patterns limiting mirrors to run. X-Git-Url: https://git.distorted.org.uk/~mdw/mirror-admin/commitdiff_plain/b8bf5b4099828ec24fe3cda6964f5a28d92d01ea bin/run-mirrors: Command line lists patterns limiting mirrors to run. --- diff --git a/bin/run-mirrors b/bin/run-mirrors index 9c24c7d..34a3733 100755 --- a/bin/run-mirrors +++ b/bin/run-mirrors @@ -5,7 +5,7 @@ set -e ## Make sure we're running as the right user. case $(id -un) in mirror) ;; - *) exec userv -fstdin=/dev/null mirror run ;; + *) exec userv -fstdin=/dev/null mirror run "$@";; esac ## Set up a plausible environment. @@ -33,9 +33,20 @@ logrotate -s var/logrotate.state etc/logrotate.conf ## Let SIGINT take out the children only. trap "" INT +## By default run all of the scripts. +case $# in 0) set "*" ;; esac + ## Now do the various mirroring things. for file in $(run-parts --list etc/mirrors.d); do [ -x "$file" ] || continue + + matchp=nil + leaf=$(echo "$file" | sed 's:^.*/::; s/^[0-9]\+[-_.]//') + for pat in "$@"; do + case "$leaf" in $pat) matchp=t; break ;; esac + done + case $matchp in nil) continue ;; esac + base=${file##*/}; base=${base#[0-9]*-} ( echo