change rerendering for zoom 13-14 tiles, change prio for daily rerenderings to be...
[osmrrze.git] / scripts / doosmupdate.sh
1 #!/bin/bash
2
3 LOCKFILE=/home.local/osm/run/.osmupdate.lock
4 CHANGESFILE=/home.local/osm/run/osmosis-changes.osc.gz
5 EXPIRYFILE=/home.local/osm/run/expiredtiles.lst
6 OSMOSISWORKDIR=/home.local/osm/.osmosis
7 WEBSTATEFILE=/var/www/lastdbupdate.txt
8 # Note: set the expire-tiles to 3 less than the real maximum,
9 # as this makes the tilelist MUCH shorter, and the tiles get rerendered
10 # anyways due to the metatile-layout!
11 UPDATECMD="/usr/bin/osm2pgsql --slim --cache=8000 --append --database=osm \
12            --style=/home.local/osm/dbstyle/osm2pgsql-new.style \
13            --flat-nodes=/mnt/database/flatnodes/flatnodes.db \
14            --hstore --multi-geometry --expire-tiles=17-17 \
15            --expire-output=$EXPIRYFILE  $CHANGESFILE"
16
17 cleanup()
18 {
19         rm -f "$LOCKFILE"
20         exit 1
21 }
22
23 trytofeedupdate()
24 {
25         echo "Trying to feed updates into databse..."
26         echo "Executing: $UPDATECMD"
27         $UPDATECMD
28         if [ $? == 0 ] ; then
29                 echo "Update went fine, removing changes-file"
30                 rm -f $CHANGESFILE
31         else
32                 echo "Update failed with error $?"
33         fi
34 }
35
36 echo "Starting update script: `date`"
37 if [ -e "$LOCKFILE" ] ; then
38         echo "Lockfile exists - ABORTING"
39         exit 1
40 fi
41 touch "$LOCKFILE" || exit 9
42 trap cleanup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 \
43              20 21 22 23 24 25 26 27 28 29 30 31
44 if [ -e $CHANGESFILE ] ; then
45         echo "Changesfile exists - will try to feed update to Database"
46         trytofeedupdate
47 fi
48 if [ -e $CHANGESFILE ] ; then
49         echo "Changesfile STILL exists - ABORTING"
50         cleanup
51         exit 1
52 fi
53 echo "Downloading changes with OSMOSIS..."
54 echo "Executing: /usr/bin/osmosis --read-replication-interval workingDirectory=$OSMOSISWORKDIR --simplify-change  --write-xml-change $CHANGESFILE"
55 /usr/bin/osmosis --read-replication-interval workingDirectory=$OSMOSISWORKDIR --simplify-change  --write-xml-change $CHANGESFILE
56 if [ $? != 0 ] ; then
57         echo "Osmosis execution failed. ABORTING"
58         cleanup
59         exit 1
60 fi
61 trytofeedupdate
62 if [ -e $CHANGESFILE ] ; then
63         echo "Changesfile STILL exists - update must have failed. ABORTING"
64         cleanup
65         exit 1
66 fi
67 echo "Update seems to have been successful."
68 grep timestamp $OSMOSISWORKDIR/state.txt | sed -e 's/timestamp=//g' -e 's/T/ /g' -e 's/\\:/:/g' > $WEBSTATEFILE
69 echo -n "Updated database: now at upstream state of "
70 cat $WEBSTATEFILE
71 #touch /var/lib/tirex/tiles/planet-import-complete
72 if [ -e $EXPIRYFILE ] ; then
73         echo "Expiryfile exists. Telling tirex to rerender the tiles mentioned there..."
74         echo "Number of lines: `wc -l $EXPIRYFILE`"
75         # Used to be zoom 13-20 but that causes too much load. Reduced to 15-20.
76         cat $EXPIRYFILE | /home.local/osm/bin/osmtilecleanup.pl \
77                                    --action rerenderexpiredlist --zoom 15-20 \
78                                    --rrs /home.local/osm/bin/osmrerenderwrapper.sh \
79                                    /var/lib/tirex/tiles/osm
80         cat $EXPIRYFILE | /home.local/osm/bin/osmtilecleanup.pl \
81                                    --action rerenderexpiredlist --zoom 15-20 \
82                                    --rrs /home.local/osm/bin/osmrerenderwrapper-osmde.sh \
83                                    /var/lib/tirex/tiles/osmde
84         rm $EXPIRYFILE
85 fi
86 echo "Ending update script cleanly: `date`"
87 cleanup
88 exit 0
89
This page took 0.050484 seconds and 3 git commands to generate.