fi
fi
+# Redirect this shell's output to a file. This is so that it
+# can be emailed later, since this script is run from incron
+# and incron doesn't yet support MAILTO like cron does. The
+# command below appears to work in bash as well as dash.
+logfile="/tmp/planetdump.log.$$"
+exec > $logfile 2>&1
+
# Create Lock
echo $$ > /tmp/planetdump.lock
# Define cleanup function
function cleanup {
rm /tmp/planetdump.lock
+ # Send an email with the output, since incron doesn't yet
+ # support doing this in the incrontab.
+ /usr/bin/mailx -s "Planet dump output: ${file}" zerebubuth@gmail.com < $logfile
+ rm $logfile
}
# Remove lock on exit
-x "planet-${date}.osm.bz2" -X "history-${date}.osm.bz2" \
-p "planet-${date}.osm.pbf" -P "history-${date}.osm.pbf"
-# Move XML dumps into place
-<% {
- "changesets-${date}.osm.bz2" => "#{node[:planet][:dump][:xml_directory]}/${year}",
- "planet-${date}.osm.bz2" => "#{node[:planet][:dump][:xml_directory]}/${year}",
- "history-${date}.osm.bz2" => "#{node[:planet][:dump][:xml_history_directory]}/${year}",
- "planet-${date}.osm.pbf" => node[:planet][:dump][:pbf_directory],
- "history-${date}.osm.pbf" => node[:planet][:dump][:pbf_history_directory]
-}.each do |file,dir| -%>
-md5sum "<%= file %>" > "<%= file %>.md5"
-mv "<%= file %>" "<%= file %>.md5" "<%= dir %>"
-<% end -%>
+# Function to install a dump in place
+function install_dump {
+ type="$1"
+ format="$2"
+ dir="$3"
+ year="$4"
+ name="${type}-${date}.osm.${format}"
+ latest="${type}-latest.osm.${format}"
+
+ md5sum "${name}" > "${name}.md5"
+ mkdir -p "${dir}/${year}"
+ mv "${name}" "${name}.md5" "${dir}/${year}"
+ ln -sf "${year:-.}/${name}" "${dir}/${latest}"
+ rm -f "${dir}/${latest}.md5"
+ sed -e "s/${name}/${latest}/" "${dir}/${year}/${name}.md5" > "${dir}/${latest}.md5"
+}
+
+# Move dumps into place
+install_dump "changesets" "bz2" "<%= node[:planet][:dump][:xml_directory] %>" "${year}"
+install_dump "planet" "bz2" "<%= node[:planet][:dump][:xml_directory] %>" "${year}"
+install_dump "history" "bz2" "<%= node[:planet][:dump][:xml_history_directory] %>" "${year}"
+install_dump "planet" "pbf" "<%= node[:planet][:dump][:pbf_directory] %>"
+install_dump "history" "pbf" "<%= node[:planet][:dump][:pbf_history_directory] %>"