Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.
1 change: 1 addition & 0 deletions roles/_init/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Common defaults. Given the "_init" role is mandatory,
# this will ensure defaults to other roles too.
deploy_user: "deploy"
_mysqldump_command: "mysqldump --max-allowed-packet=128M --single-transaction --skip-opt -e --quick --skip-disable-keys --skip-add-locks -C -a --add-drop-table"
drupal:
sites:
- folder: "default"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
cron_mysql_backup:
dumps_directory: "/home/{{ deploy_user }}/shared/{{ project_name }}_{{ build_type }}/db_backups/mysql/regular"
keep: 10
mysqldump_command: "{{ _mysqldump_command }}" # set in _init but you can override here
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ TARBALL="$DB_NAME-$(date -Iseconds).sql.bz2"
KEEP=$(({{ database.original.backup.keep | default(cron_mysql_backup.keep) }}+1))

backup(){
mysqldump -u"$DBUSER" -p"$DBPASSWORD" -h"$DBHOST" "$CURRENT_DBNAME" | bzip2 > "$TARGET_DIR/$TARBALL"
{{ cron_mysql_backup.mysqldump_command }} \
-u"$DBUSER" -p"$DBPASSWORD" -h"$DBHOST" "$CURRENT_DBNAME" | bzip2 > "$TARGET_DIR/$TARBALL"
ln -sfn "$TARGET_DIR/$TARBALL" "$TARGET_DIR/$DB_NAME"
}

Expand All @@ -23,4 +24,4 @@ cleanup(){
}

backup
cleanup
cleanup
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
mysql_backup:
handling: rolling
dumps_directory: "/home/{{ deploy_user }}/shared/{{ project_name }}_{{ build_type }}/db_backups/mysql/build"
mysqldump_command: "{{ _mysqldump_command }}" # set in _init but you can override here
# Number of dumps/db to keep. Note this is independant from the build codebases.
keep: 10
# This can be one of the following:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
run_once: true

- name: Take a database dump.
shell: "mysqldump --defaults-extra-file={{ database.credentials_file }} {{ database.database }} | bzip2 > {{ mysql_backup.dumps_directory }}/{{ _mysql_host }}/{{ database.database }}-{{ previous_build_number }}.sql.bz2"
shell: "{{ mysql_backup.mysqldump_command }} --defaults-extra-file={{ database.credentials_file }} {{ database.database }} | bzip2 > {{ mysql_backup.dumps_directory }}/{{ _mysql_host }}/{{ database.database }}-{{ previous_build_number }}.sql.bz2"
when: previous_build_number > 0
run_once: true
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
run_once: true

- name: Populate new database.
shell: "mysqldump --defaults-extra-file={{ database.credentials_file }} {{ _mysql_previous_build_database_name }} | mysql --defaults-extra-file={{ database.credentials_file }} {{ _mysql_build_database_name }}"
shell: "{{ mysql_backup.mysqldump_command }} --defaults-extra-file={{ database.credentials_file }} {{ _mysql_previous_build_database_name }} | mysql --defaults-extra-file={{ database.credentials_file }} {{ _mysql_build_database_name }}"
when: previous_build_number > 0
run_once: true
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
mysql_sync:
mysqldump_command: "{{ _mysqldump_command }}" # set in _init but you can override here
databases:
- source:
# Name of the database to take a dump from.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
when: not database.source.type == 'rolling'

- name: Take a dump from source database.
shell: "mysqldump --defaults-extra-file={{ database.source.credentials_file }} {{ mysql_sync_source_database }} | bzip2 > {{ mysql_sync_source_dump_path }}"
shell: "{{ mysql_sync.mysqldump_command }} --defaults-extra-file={{ database.source.credentials_file }} {{ mysql_sync_source_database }} | bzip2 > {{ mysql_sync_source_dump_path }}"
delegate_to: "{{ database.source.host }}"
when:
- not database.source.type == 'dump'
Expand Down