This is an example of a script I use to roll down database environments from production to uat or dev for example.
After the rolldown is complete, this will also automatically apply any upgrade scripts should they exist.
---
- name: Copy the file to the server
hosts: dbtest01
tasks:
- name: Copy the file
copy: src=/app/prod_backup.bz2 dest=/backup/prod_backup.bz2
- name: Remove the existing database
mysql_db:
name: test_db
state: absent
- name: Create the database
mysql_db:
name: test_db
state: present
- name: Import the database
mysql_db:
state: import
name: test_db
target: /backup/prod_backup.bz2
- name: Check Upgrade Script
stat: path=/tmp/upgrade.sql
register: update_script
- name: Run the Upgrade script if it exists
mysql_db:
state: import
name: test_db
target: /tmp/upgrade.sql
when: update_script.stat.exists == True
I hope you find this helpful, I have this called from another shell script (modified for this post) so you can select which machine as in some examples I have two sides that have different data and depending on which one they want rolling down, happy to share all that as well just feel free to get into contact.
I am always interested in your thoughts so if you have any comments or feedback then please feel free to add any comments, or you can mail me here.
