X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5fb3582b318acf966fe68b3157f0fb04c852a0ff..f3c557bf684a0079e4bc54b622cc5d766f3a6b56:/docs/admin/Update.md?ds=sidebyside diff --git a/docs/admin/Update.md b/docs/admin/Update.md index 4cc7d124..add1df5c 100644 --- a/docs/admin/Update.md +++ b/docs/admin/Update.md @@ -70,7 +70,7 @@ The update application keeps running forever and retrieves and applies new updates from the server as they are published. You can run this command as a simple systemd service. Create a service -description like that in `/etc/systemd/system/nominatim-update.service`: +description like that in `/etc/systemd/system/nominatim-updates.service`: ``` [Unit] @@ -131,6 +131,63 @@ done A cron job then creates the file `/srv/nominatim/schedule-maintenance` once per night. +##### One-time mode with systemd + +You can run the one-time mode with a systemd timer & service. + +Create a timer description like `/etc/systemd/system/nominatim-updates.timer`: + +``` +[Unit] +Description=Timer to start updates of Nominatim + +[Timer] +OnActiveSec=2 +OnUnitActiveSec=1min +Unit=nominatim-updates.service + +[Install] +WantedBy=multi-user.target +``` + +And then a similar service definition: `/etc/systemd/system/nominatim-updates.service`: + +``` +[Unit] +Description=Single updates of Nominatim + +[Service] +WorkingDirectory=/srv/nominatim +ExecStart=nominatim replication --once +StandardOutput=append:/var/log/nominatim-updates.log +StandardError=append:/var/log/nominatim-updates.error.log +User=nominatim +Group=nominatim +Type=simple + +[Install] +WantedBy=multi-user.target +``` + +Replace the `WorkingDirectory` with your project directory. Also adapt user and +group names as required. `OnUnitActiveSec` defines how often the individual +update command is run. + +Now activate the service and start the updates: + +``` +sudo systemctl daemon-reload +sudo systemctl enable nominatim-updates.timer +sudo systemctl start nominatim-updates.timer +``` + +You can stop future data updates, while allowing any current, in-progress +update steps to finish, by running `sudo systemctl stop +nominatim-updates.timer` and waiting until `nominatim-updates.service` isn't +running (`sudo systemctl is-active nominatim-updates.service`). Current output +from the update can be seen like above (`systemctl status +nominatim-updates.service`). + #### Catch-up mode