{"id":9883,"date":"2025-09-03T18:57:45","date_gmt":"2025-09-03T21:57:45","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=9883"},"modified":"2026-03-26T12:33:16","modified_gmt":"2026-03-26T15:33:16","slug":"atualizar-camadas-do-geoserver-para-o-geonode-automaticamente","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2025\/09\/03\/atualizar-camadas-do-geoserver-para-o-geonode-automaticamente\/","title":{"rendered":"Atualizar camadas do GeoServer para o GeoNode automaticamente"},"content":{"rendered":"<p>Este tutorial mostra como configurar um script que atualiza automaticamente as camadas do GeoServer no GeoNode, utilizando um checksum para detectar altera\u00e7\u00f5es.<\/p>\n<p><strong>1. Instalar o <b>checksumdir<\/b> dentro do container do GeoServer<\/strong><\/p>\n<p>1.1 Entrar no container do GeoServer<\/p>\n<pre>\r\ndocker exec -it geoserver4my_geonode bash\r\n<\/pre>\n<p>1.2 Instalar o checksumdir<\/p>\n<pre>\r\npip install checksumdir\r\n<\/pre>\n<p><strong>2. Gerar o checksum (c\u00f3digo \u00fanico) da pasta do GeoServer<\/strong><\/p>\n<p>O comando checksumdir cria um hash \u00fanico com base no conte\u00fado de todos os arquivos da pasta especificada. Isso significa que qualquer altera\u00e7\u00e3o em uma camada, SLD ou arquivo dentro do workspace do GeoNode far\u00e1 o checksum mudar, permitindo que o script detecte automaticamente essas modifica\u00e7\u00f5es e atualize as camadas no GeoNode.<\/p>\n<p>2.1 Executar o comando:<\/p>\n<pre>\r\nchecksumdir \/geoserver_data\/data\/workspaces\/geonode\r\n<\/pre>\n<p>Anote o c\u00f3digo gerado, pois ele ser\u00e1 usado na etapa seguinte.<\/p>\n<p><strong>3. Criar um arquivo para armazenar o checksum<\/strong><\/p>\n<p>3.1 Criar o arquivo fora do container:<\/p>\n<pre>\r\nsudo mkdir \/opt\/updatelayers\r\nsudo chown geocursos \/opt\/updatelayers\r\nsudo chgrp www-data \/opt\/updatelayers\r\ncd \/opt\/updatelayers\r\ntouch layers_updated_md5\r\n<\/pre>\n<p>3.2 Inserir o c\u00f3digo do checksum<\/p>\n<pre>\r\nnano layers_updated_md5\r\n<\/pre>\n<p>Cole o checksum gerado na etapa anterior e salve o arquivo.<\/p>\n<p><strong>4. Criar o script de execu\u00e7\u00e3o autom\u00e1tica<\/strong><\/p>\n<p>4.1 Criar o arquivo do script:<\/p>\n<pre>\r\ntouch cron_updatelayers.sh\r\n<\/pre>\n<p>4.2 Adicionar o c\u00f3digo no script:<\/p>\n<pre>\r\ngeoserver=\"geoserver4my_geonode\"\r\ngeonode=\"django4my_geonode\"\r\n\r\nmd5=$(docker exec -i $geoserver checksumdir \/geoserver_data\/data\/workspaces\/geonode)\r\n\r\nif [[ $md5 != $(cat \/opt\/updatelayers\/layers_updated_md5) ]]; then\r\n    echo \"Atualizando camadas\"\r\n    echo $md5 > \/opt\/updatelayers\/layers_updated_md5\r\n    docker exec -i $geonode python3 manage.py updatelayers\r\nfi\r\n<\/pre>\n<p>4.3 Agora voc\u00ea precisa tornar o arquivo execut\u00e1vel:<\/p>\n<pre>\r\nchmod +x \/opt\/updatelayers\/cron_updatelayers.sh\r\n<\/pre>\n<p><strong>5. Configurar o cron para execu\u00e7\u00e3o autom\u00e1tica<\/strong><\/p>\n<p>5.1 Abrir o arquivo crontab:<\/p>\n<pre>\r\nsudo nano \/etc\/crontab\r\n<\/pre>\n<p>5.2 Adicionar a linha para executar o script a cada 5 minutos  <\/p>\n<p>Lembre-se de alterar o caminho do script conforme a sua configura\u00e7\u00e3o:<\/p>\n<pre>\r\n*\/5 * * * * geocursos bash \/opt\/updatelayers\/cron_updatelayers.sh\r\n<\/pre>\n<p>Pronto! Agora seu GeoServer ir\u00e1 verificar periodicamente altera\u00e7\u00f5es nas camadas e atualizar automaticamente no GeoNode quando houver mudan\u00e7as.<\/p>\n<p>Se voc\u00ea quiser conferir se o comando est\u00e1 sendo executando, basta executar:<\/p>\n<pre>\r\nsudo grep CRON \/var\/log\/syslog\r\n<\/pre>\n<p>Por \u00faltimo, mas n\u00e3o menos importante, gostaria de agradecer ao Diego Varela por disponibilizar esse script.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este tutorial mostra como configurar um script que atualiza automaticamente as camadas do GeoServer no GeoNode, utilizando um checksum para detectar altera\u00e7\u00f5es. 1. Instalar o checksumdir dentro do container do GeoServer 1.1 Entrar no container do GeoServer docker exec -it&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2025\/09\/03\/atualizar-camadas-do-geoserver-para-o-geonode-automaticamente\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":9885,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[196,208],"class_list":["post-9883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geonode","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=9883"}],"version-history":[{"count":22,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9883\/revisions"}],"predecessor-version":[{"id":10300,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9883\/revisions\/10300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/9885"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=9883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=9883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=9883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}