Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 133 lines (109 sloc) 2.554 kb
#!/bin/sh
# script to aid copying all data and index-tmp files to one host\
# for final combine and hash stages
ERROR()
{
echo error: $*
exit 1
}
USAGE()
{
[ -z "$1" ] || echo error: $*
echo usage: $(basename "$0") '<options>'
echo ' --help -h this message'
echo ' --verbose -v more messages'
echo ' --base=<dir> -b <dir> set the base directory [samo]'
echo ' --to=<host> -t <host> where to rsync the files to {1 => <this_host_prefix>1}'
echo ' --language=<xx> -l <xx> set language [en]'
echo ' --suffix=<s> -s <s> set language suffix [pedia]'
echo ' --work=<dir> -w <dir> workdir [work]'
echo ' --dest=<dir> -d <dir> destdir [image]'
exit 1
}
verbose=no
base_dir=samo
work=work
dest=image
debug=no
language=en
suffix=pedia
to=
getopt=/usr/local/bin/getopt
[ -x "${getopt}" ] || getopt=getopt
args=$(${getopt} -o hvb:t:l:s:w:d: --long=help,verbose,base:,to:,language:,suffix:,work:,dest:,debug -- "$@") ||exit 1
# replace the arguments with the parsed values
eval set -- "${args}"
while :
do
case "$1" in
-v|--verbose)
verbose=yes
shift
;;
-b|--base)
base_dir="$2"
shift 2
;;
-t|--to)
to="$2"
shift 2
;;
-l|--language)
language="$2"
shift 2
;;
-s|--suffix)
suffix="$2"
shift 2
;;
-w|--work)
work="$2"
shift 2
;;
-d|--dest)
dest="$2"
shift 2
;;
--debug)
debug=yes
shift
;;
--)
shift
break
;;
-h|--help)
USAGE
;;
*)
USAGE invalid option: $1
;;
esac
done
[ -z "${language}" ] && USAGE language is not set
[ -z "${to}" ] && USAGE to host is not set
work="${work}/${language}${suffix}"
dest="${dest}/${language}${suffix}"
# extract numeric suffix from host name
# expect that the rendering hosts are numbered from one
this_host=$(hostname --short)
this_host_prefix=${this_host%%[0-9]}
this_id=${this_host##*[^0-9]}
[ -z "${this_id}" ] && this_id=0
[ -z "${to%%[0-9]}" ] && to="${this_host_prefix}${to}"
if [ X"${this_host}" != X"${to}" ]
then
d="${to}:${base_dir}/${dest}"
w="${to}:${base_dir}/${work}"
case "${verbose}" in
[yY][eE][sS])
echo copying files to: ${d}
;;
*)
;;
esac
rsync -cavHx --progress "${dest}"/*.dat "${d}/"
rsync -cavHx --progress "${work}"/*.idx-tmp "${w}/"
else
echo warning: transfer to self ignored
fi
Jump to Line
Something went wrong with that request. Please try again.