diff --git a/tasks/collect_db_dump/dump.yml b/tasks/collect_db_dump/dump.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ea663456a0961c807f7bb9ee365adf2ac8bdfea5
--- /dev/null
+++ b/tasks/collect_db_dump/dump.yml
@@ -0,0 +1,35 @@
+---
+# file: roles/drupal/tasks/collect_db_dump/dump.yml
+
+- block:
+
+  - set_fact:
+      drushAlias='@{{ drupal.id }}.{{ drupal_domain.shortname|default("default") }}'
+      drushAliasValidate="'@{{ drupal.id }}.{{ drupal_domain.shortname|default('default') }}':"
+  - set_fact:
+      drushAlias='@{{ inventory_hostname }}{{ drushSubkey }}.{{ drupal_domain.shortname|default("default") }}'
+      drushAliasValidate='@{{ inventory_hostname }}{{ drushSubkey }}.{{ drupal_domain.shortname|default("default") }}'
+    when: drush_version_main|default('8') == '8'
+
+  - name: "Check Drush Status"
+    shell: drush -y {{ drushAlias }} status
+    args:
+      chdir: '{{ webRoot }}'
+    register: drush_status
+    changed_when: false
+    when: drushAliasValidate in drush_aliases.stdout_lines
+
+  - name: "Dump DB"
+    shell: drush -y {{ drushAlias }} sql-dump --result-file=/tmp/drupal-db-dump/{{ drushAlias }}.sql
+    args:
+      chdir: '{{ webRoot }}'
+    when: "drush_status is defined and ('Successful' in drush_status.stdout|default('') or 'Erfolgreich' in drush_status.stdout|default(''))"
+
+  - name: "Fetch Dump File"
+    fetch:
+      src: '/tmp/drupal-db-dump/{{ drushAlias }}.sql'
+      dest: '{{ dump_file }}'
+      flat: yes
+    when: "drush_status is defined and ('Successful' in drush_status.stdout|default('') or 'Erfolgreich' in drush_status.stdout|default(''))"
+
+  tags: 'collect_db_dump'
diff --git a/tasks/collect_db_dump/main.yml b/tasks/collect_db_dump/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7f356c60c9048af2adf38db9333d6b39597eed3f
--- /dev/null
+++ b/tasks/collect_db_dump/main.yml
@@ -0,0 +1,39 @@
+---
+# file: roles/drupal/tasks/collect_db_dump/main.yml
+
+- block:
+
+  - set_fact:
+      webRoot='/var/www{{ drupal.webRoot|default("") }}'
+      cronUser='root'
+      apacheUser='www-data'
+      apacheLogDir='/var/log/apache2'
+      drushSubkey='{{ drupal.drush_subkey|default("") }}'
+    when: drupal.jail is not defined
+  - set_fact:
+      webRoot='{{ jailroot }}/{{ drupal.jail.name }}/var/www{{ drupal.webRoot|default("") }}'
+      cronUser='{{ drupal.jail.name }}'
+      apacheUser='{{ drupal.jail.name }}'
+      apacheLogDir='{{ jailroot }}/{{ drupal.jail.name }}/var/log/apache2'
+      drushSubkey='.{{ drupal.jail.name }}'
+    when: drupal.jail is defined
+  - set_fact:
+      installSource={{ drupal.src|default([]) }}
+      relativeRoot='{{ drupal.relativeRoot|default(drupal_links_relative_root) }}'
+      drupalRoot='{{ webRoot }}{{ drupal.root|default("") }}'
+      docRoot='{{ webRoot }}{{ drupal.docroot|default(drupal.root|default("")) }}'
+
+  - name: "Check available Drush Aliases"
+    shell: drush sa
+    args:
+      chdir: '{{ webRoot }}'
+    register: drush_aliases
+    changed_when: false
+
+  - name: "Post Deploy Tasks"
+    include_tasks: dump.yml
+    with_items: '{{ drupal.domains }}'
+    loop_control:
+      loop_var: drupal_domain
+
+  tags: 'collect_db_dump'
diff --git a/tasks/main.yml b/tasks/main.yml
index 543253874841ad5417cbfb53f90af9c01c5edcee..8f5f9f251ef3149b87d3acd0da98995613378417 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -47,3 +47,23 @@
     tags: 'deploy'
 
   when: '"drupal" not in excluded_roles and drupal_install_drupal and collect_config is defined and collect_config'
+
+- block:
+
+  - name: "Prepare dump directory"
+    file:
+      path: '/tmp/drupal-db-dump'
+      state: '{{ item }}'
+    with_items:
+      - 'absent'
+      - 'directory'
+
+  - name: "Download DB Dump"
+    include_tasks: collect_db_dump/main.yml
+    with_items: '{{ drupal_settings|default([]) }}'
+    loop_control:
+      loop_var: drupal
+    when: limit_site is not defined or drupal.id is not defined or limit_site == drupal.id
+
+  when: '"drupal" not in excluded_roles and drupal_install_drupal and collect_db_dump is defined and collect_db_dump'
+  tags: 'collect_db_dump'