Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,4 +2,4 @@
cron_mysql_backup:
dumps_directory: "/home/{{ deploy_user }}/shared/{{ project_name }}_{{ build_type }}/db_backups/mysql/regular"
keep: 10
max_allowed_packets: 128M # Needs to be larger than the single largest database row
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,8 +10,7 @@ TARBALL="$DB_NAME-$(date -Iseconds).sql.bz2"
KEEP=$(({{ database.original.backup.keep | default(cron_mysql_backup.keep) }}+1))

backup(){
mysqldump --max-allowed-packet={{ cron_mysql_backup.max_allowed_packets }} --single-transaction --skip-opt -e --quick \
--skip-disable-keys --skip-add-locks -C -a --add-drop-table \
{{ 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 Down
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