Fix env parsing for variables with spaces

This commit is contained in:
ViViDboarder 2019-02-01 17:02:44 -08:00
parent 8cc87d0a16
commit ebb9c93e47
2 changed files with 6 additions and 5 deletions

View File

@ -1,10 +1,11 @@
#! /bin/bash
ENV=/env
ENV=/env.sh
LOG=/cron.log
HEALTH_FILE=/unhealthy
test -f $ENV || echo NO_ENV=true > $ENV
touch $ENV
source $ENV
# Execute command and write output to log
env `cat $ENV | xargs` $@ 2>> $LOG && rm -f $HEALTH_FILE || { touch $HEALTH_FILE; exit 1; }
$@ 2>> $LOG && rm -f $HEALTH_FILE || { touch $HEALTH_FILE; exit 1; }

View File

@ -26,9 +26,9 @@ fi
if [ -n "$CRON_SCHEDULE" ]; then
# Export the environment to a file so it can be loaded from cron
env > /env
env | sed 's/^\(.*\)=\(.*\)$/export \1="\2"/g' > /env.sh
# Remove some vars we don't want to keep
sed -i '/\(HOSTNAME\|affinity\|SHLVL\|PWD\)/d' /env
sed -i '/\(HOSTNAME\|affinity\|SHLVL\|PWD\)/d' /env.sh
# Use bash for cron
echo "SHELL=/bin/bash" > /crontab.conf