63b32d920b3f66db2b3d3b21cb1294c0e0045fbc
[sitka/sitka-tools.git] / marc_export_custom / sitka-full-export-parallel-outlook-wrapper.sh
1 #!/bin/bash
2 # This is meant to be fire-and-forget
3 # Only use it if you trust the output!
4 export DIR=$(readlink -f $(dirname $0))
5 if [ -z "${MAKEOPTS}" ]; then
6         echo "MAKEOPTS env variable is not set"
7         echo "If you really want this to be serialized, export MAKEOPTS=-j1"
8         echo "Otherwise set it about 1.5x your number of CPUs!"
9         exit 1
10 fi
11 [ -z "${T}" ] && export T=$(date -u +%Y%m%dT%H%M%SZ)
12 [ -z "${OUTDIR}" ] && export OUTDIR=$(mktemp --tmpdir -d outlook_export.$T.XXXXXXX)
13 cd $OUTDIR
14 $DIR/fetch-shortcodes.sh
15 cd $DIR
16 export PERLOPT=-X
17 time ./sitka-full-export-parallel.sh
18 rc=$?
19 cd $OUTDIR
20 mkdir split
21 mv *split* split/
22 pbzip2 -9nvk -p4 *{marc,log}
23 pbzip2 -9nv -p4 split/*{marc,log}
24 $DIR/stats.sh
25 egrep -sq '^([[:space:]]*0){2}' *stats
26 grep_result=$?
27 if [ $rc -ne 0 -o $grep_result -ne 0 ]; then
28         echo "Failed to run export! Human needed! export=$rc grep=$rc" 1>&2
29         cat *stats 1>&2
30         exit 1
31 fi
32 cp $DIR/email-template-outlook.sh $OUTDIR/
33 cat >lftp.cmd <<EOF
34 open ftp://ftpbcuc:bcv15c@ftp.auto-graphics.com/
35 mkdir -p sitka/$T
36 cd sitka/$T
37 mput *csv *stats
38 mput *bz2
39 rels -l
40 EOF
41 lftp -f lftp.cmd
42 chmod +x email-template-outlook.sh
43 ./email-template-outlook.sh "$T" "@$(date +%s)" >email.txt
44 /usr/lib/sendmail -f rjohnson@sitka.bclibraries.ca <email.txt