Add proper error checking to run script
This commit is contained in:
		
							
								
								
									
										18
									
								
								run.sh
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								run.sh
									
									
									
									
									
								
							@@ -1,5 +1,7 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function createPostgresConfig() {
 | 
					function createPostgresConfig() {
 | 
				
			||||||
  cp /etc/postgresql/12/main/postgresql.custom.conf.tmpl /etc/postgresql/12/main/conf.d/postgresql.custom.conf
 | 
					  cp /etc/postgresql/12/main/postgresql.custom.conf.tmpl /etc/postgresql/12/main/conf.d/postgresql.custom.conf
 | 
				
			||||||
  sudo -u postgres echo "autovacuum = $AUTOVACUUM" >> /etc/postgresql/12/main/conf.d/postgresql.custom.conf
 | 
					  sudo -u postgres echo "autovacuum = $AUTOVACUUM" >> /etc/postgresql/12/main/conf.d/postgresql.custom.conf
 | 
				
			||||||
@@ -42,22 +44,22 @@ if [ "$1" = "import" ]; then
 | 
				
			|||||||
    setPostgresPassword
 | 
					    setPostgresPassword
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Download Luxembourg as sample if no data is provided
 | 
					    # Download Luxembourg as sample if no data is provided
 | 
				
			||||||
    if [ ! -f /data.osm.pbf ] && [ -z "$DOWNLOAD_PBF" ]; then
 | 
					    if [ ! -f /data.osm.pbf ] && [ -z "${DOWNLOAD_PBF:-}" ]; then
 | 
				
			||||||
        echo "WARNING: No import file at /data.osm.pbf, so importing Luxembourg as example..."
 | 
					        echo "WARNING: No import file at /data.osm.pbf, so importing Luxembourg as example..."
 | 
				
			||||||
        DOWNLOAD_PBF="https://download.geofabrik.de/europe/luxembourg-latest.osm.pbf"
 | 
					        DOWNLOAD_PBF="https://download.geofabrik.de/europe/luxembourg-latest.osm.pbf"
 | 
				
			||||||
        DOWNLOAD_POLY="https://download.geofabrik.de/europe/luxembourg.poly"
 | 
					        DOWNLOAD_POLY="https://download.geofabrik.de/europe/luxembourg.poly"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ -n "$DOWNLOAD_PBF" ]; then
 | 
					    if [ -n "${DOWNLOAD_PBF:-}" ]; then
 | 
				
			||||||
        echo "INFO: Download PBF file: $DOWNLOAD_PBF"
 | 
					        echo "INFO: Download PBF file: $DOWNLOAD_PBF"
 | 
				
			||||||
        wget $WGET_ARGS "$DOWNLOAD_PBF" -O /data.osm.pbf
 | 
					        wget ${WGET_ARGS:-} "$DOWNLOAD_PBF" -O /data.osm.pbf
 | 
				
			||||||
        if [ -n "$DOWNLOAD_POLY" ]; then
 | 
					        if [ -n "$DOWNLOAD_POLY" ]; then
 | 
				
			||||||
            echo "INFO: Download PBF-POLY file: $DOWNLOAD_POLY"
 | 
					            echo "INFO: Download PBF-POLY file: $DOWNLOAD_POLY"
 | 
				
			||||||
            wget $WGET_ARGS "$DOWNLOAD_POLY" -O /data.poly
 | 
					            wget ${WGET_ARGS:-} "$DOWNLOAD_POLY" -O /data.poly
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ "$UPDATES" = "enabled" ]; then
 | 
					    if [ "${UPDATES:-}" = "enabled" ]; then
 | 
				
			||||||
        # determine and set osmosis_replication_timestamp (for consecutive updates)
 | 
					        # determine and set osmosis_replication_timestamp (for consecutive updates)
 | 
				
			||||||
        osmium fileinfo /data.osm.pbf > /var/lib/mod_tile/data.osm.pbf.info
 | 
					        osmium fileinfo /data.osm.pbf > /var/lib/mod_tile/data.osm.pbf.info
 | 
				
			||||||
        osmium fileinfo /data.osm.pbf | grep 'osmosis_replication_timestamp=' | cut -b35-44 > /var/lib/mod_tile/replication_timestamp.txt
 | 
					        osmium fileinfo /data.osm.pbf | grep 'osmosis_replication_timestamp=' | cut -b35-44 > /var/lib/mod_tile/replication_timestamp.txt
 | 
				
			||||||
@@ -73,7 +75,7 @@ if [ "$1" = "import" ]; then
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Import data
 | 
					    # Import data
 | 
				
			||||||
    sudo -u renderer osm2pgsql -d gis --create --slim -G --hstore --tag-transform-script /home/renderer/src/openstreetmap-carto/openstreetmap-carto.lua --number-processes ${THREADS:-4} -S /home/renderer/src/openstreetmap-carto/openstreetmap-carto.style /data.osm.pbf ${OSM2PGSQL_EXTRA_ARGS}
 | 
					    sudo -u renderer osm2pgsql -d gis --create --slim -G --hstore --tag-transform-script /home/renderer/src/openstreetmap-carto/openstreetmap-carto.lua --number-processes ${THREADS:-4} -S /home/renderer/src/openstreetmap-carto/openstreetmap-carto.style /data.osm.pbf ${OSM2PGSQL_EXTRA_ARGS:-}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Create indexes
 | 
					    # Create indexes
 | 
				
			||||||
    sudo -u postgres psql -d gis -f /home/renderer/src/openstreetmap-carto/indexes.sql
 | 
					    sudo -u postgres psql -d gis -f /home/renderer/src/openstreetmap-carto/indexes.sql
 | 
				
			||||||
@@ -98,7 +100,7 @@ if [ "$1" = "run" ]; then
 | 
				
			|||||||
    chown postgres:postgres /var/lib/postgresql -R
 | 
					    chown postgres:postgres /var/lib/postgresql -R
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Configure Apache CORS
 | 
					    # Configure Apache CORS
 | 
				
			||||||
    if [ "$ALLOW_CORS" == "enabled" ] || [ "$ALLOW_CORS" == "1" ]; then
 | 
					    if [ "${ALLOW_CORS:-}" == "enabled" ] || [ "${ALLOW_CORS:-}" == "1" ]; then
 | 
				
			||||||
        echo "export APACHE_ARGUMENTS='-D ALLOW_CORS'" >> /etc/apache2/envvars
 | 
					        echo "export APACHE_ARGUMENTS='-D ALLOW_CORS'" >> /etc/apache2/envvars
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -112,7 +114,7 @@ if [ "$1" = "run" ]; then
 | 
				
			|||||||
    sed -i -E "s/num_threads=[0-9]+/num_threads=${THREADS:-4}/g" /usr/local/etc/renderd.conf
 | 
					    sed -i -E "s/num_threads=[0-9]+/num_threads=${THREADS:-4}/g" /usr/local/etc/renderd.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # start cron job to trigger consecutive updates
 | 
					    # start cron job to trigger consecutive updates
 | 
				
			||||||
    if [ "$UPDATES" = "enabled" ] || [ "$UPDATES" = "1" ]; then
 | 
					    if [ "${UPDATES:-}" = "enabled" ] || [ "${UPDATES:-}" = "1" ]; then
 | 
				
			||||||
      /etc/init.d/cron start
 | 
					      /etc/init.d/cron start
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user