diff --git a/AWS/AWS_Setup.sh b/AWS/AWS_Setup.sh index 1c6ccb5..e3443d8 100644 --- a/AWS/AWS_Setup.sh +++ b/AWS/AWS_Setup.sh @@ -10,7 +10,10 @@ IMAGE="" set -e curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh -docker pull "$IMAGE" +docker pull $IMAGE +#make docker invokable without requiring sudo +sudo usermod -aG docker ubuntu +sudo newgrp docker set +e ) @@ -18,7 +21,7 @@ set +e mkdir /home/ubuntu/docker_config && cat > /home/ubuntu/docker_config/.env < TMP_DIR=/app/data/tmp METRO_LINES=801,802,803,804,805,806 METRO_AGENCY=lametro-rail @@ -31,7 +34,6 @@ AWS_SECRET_ACCESS_KEY= EOF #allow for timestamps on STDERR - ( set -e mkdir /home/ubuntu/utils @@ -42,82 +44,88 @@ while read -r line; do echo "[\$(date +%Y-%m-%d\ %H:%M:%S)] \$line" >> /home/ubuntu/logs/errors.log done EOF -chmod 755 /home/ubuntu/utils/timestamp_errors.sh -chown -R ubuntu /home/ubuntu/utils +chmod -R 777 ubuntu /home/ubuntu/utils set +e ) #Create Shell Scripts +( +set -e mkdir /home/ubuntu/logs touch /home/ubuntu/logs/errors.log touch /home/ubuntu/logs/output.log -chown -R ubuntu /home/ubuntu/logs +chmod -R 777 ubuntu /home/ubuntu/logs +set +e +) + +mkdir /home/ubuntu/scripts ( set -e -cat > /home/ubuntu/daily_at_2.sh < /home/ubuntu/scripts/every_six_hours.sh < /home/ubuntu/every_minute.sh < /home/ubuntu/scripts/every_minute.sh < /home/ubuntu/every_hour.sh < /home/ubuntu/scripts/every_hour.sh < every_minute < >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log +SHELL=/bin/bash +* * * * * root /home/ubuntu/scripts/every_minute.sh 2> >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log EOF -chmod 644 every_minute mv every_minute /etc/cron.d set +e ) ( set -e +#change to every 15 min for prod cat > every_hour < >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log +SHELL=/bin/bash +0 * * * * root /home/ubuntu/scripts/every_hour.sh 2> >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log EOF -chmod 644 every_hour mv every_hour /etc/cron.d set +e ) ( set -e -cat > every_day < every_six_hours < >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log +SHELL=/bin/bash +0 5,11,17,23 * * * root rm -rf ~/data/tmp && /home/ubuntu/scripts/every_six_hours.sh 2> >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log EOF -chmod 644 every_day -mv every_day /etc/cron.d +mv every_six_hours /etc/cron.d set +e ) +chmod -R 755 /etc/cron.d -#run the daily script once on launch to obtain schedule for current day -bash /home/ubuntu/daily_at_2.sh 2> >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log +#obtain the current schedule before cron actions fire +bash /home/ubuntu/scripts/every_six_hours.sh 2> >(/home/ubuntu/utils/timestamp_errors.sh) >> /home/ubuntu/logs/output.log \ No newline at end of file