Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -e
- # Initialize timestamp with day of latest planet dump
- # Setting to midnight ensures we get conistent data after first run
- # osmosis --read-replication-interval-init
- OSMOSIS_PATH=/home/iandees/osmosis-SNAPSHOT-r25995
- OSMOSIS_WORKDIR=/home/iandees/.osmosis
- OSM2PGSQL_PATH=/home/iandees/osm2pgsql
- # Read in current state
- . $OSMOSIS_WORKDIR/state.txt
- while (true)
- do
- file="changes-${sequenceNumber}.osm.gz"
- # Osmosis sometimes returns an error when the server is temporarily unavailable
- # If this happens, retry in a few minutes
- set +e
- $OSMOSIS_PATH/bin/osmosis \
- --read-replication-interval workingDirectory=$OSMOSIS_WORKDIR \
- --simc \
- --write-xml-change file="${file}" compressionMethod="gzip"
- if [ $? -eq 0 ]; then
- set -e
- prevSequenceNumber=$sequenceNumber
- # Read in new state
- . $OSMOSIS_WORKDIR/state.txt
- if [ "${sequenceNumber}" == "${prevSequenceNumber}" ]; then
- echo "No new data available. Sleeping..."
- # Remove file, it will just be an empty changeset
- rm ${file}
- sleep 30
- else
- echo "Fetched new data from ${prevSequenceNumber} to ${sequenceNumber} into ${file}"
- $OSM2PGSQL_PATH/osm2pgsql \
- --port 5432 \
- --user gis \
- --slim \
- --append \
- --style $OSM2PGSQL_PATH/default.style \
- ${file}
- #touch /var/lib/mod_tile/planet-import-complete
- #./run.rb ${file} &> /dev/null &
- #./run.rb ${file} &> /dev/null &
- # Reduce import rate to give us a while to catch up
- #sleep 120
- fi
- # Delete old downloads
- find . -name 'changes-*.gz' -mmin +300 -exec rm -f {} \;
- else
- set -e
- echo "Waiting a few minutes before retry"
- sleep 300
- fi
- done
Add Comment
Please, Sign In to add comment