--- - name: Create archive dir file: path={{ graylog_root_dir }}/archives/{{ graylog_current_version }}/mongo state=directory tags: graylog - name: Archive current version synchronize: src: "{{ graylog_root_dir }}/app" dest: "{{ graylog_root_dir }}/archives/{{ graylog_current_version }}/" recursive: True delete: True delegate_to: "{{ inventory_hostname }}" tags: graylog - name: Archive mongo database shell: | mongodump --quiet \ --out {{ graylog_root_dir }}/archives/{{ graylog_current_version }}/mongo \ --uri \ {% if graylog_mongo_pass is defined and graylog_mongo_pass != False and graylog_mongo_url | length == 1 %} {% set url = graylog_mongo_url[0] %} {{ url | urlsplit('scheme') }}://{{ graylog_mongo_user }}:{{ graylog_mongo_pass | urlencode | regex_replace('/','%2F') }}@{{ url | urlsplit('hostname') }}{% if url | urlsplit('port') %}:{{ url | urlsplit('port') }}{% endif %}{{ url | urlsplit('path') }}?{{ url | urlsplit('query') }} {% else %} {{ graylog_mongo_url[0] }} {% endif %} tags: graylog