Skip to content
Snippets Groups Projects
Select Git revision
  • 42e8970d02531877e9531c4d5f0cebd9a94fa8d4
  • master default protected
  • md-export
  • th/mail
  • 179-einladungen-zum-aushaengen-drucken
5 results

config.py.example

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    main.yml 1.49 KiB
    ---
    # file: roles/mysql/tasks/main.yml
    
    - name: ensure mysql packages are installed
      apt:
        name:
          - mariadb-server
          - python3-mysqldb
        state: present
      tags:
        - packages
        - mysql
    
    - name: ensure legacy mysql packages are installed
      apt:
        name:
          - python-mysqldb
        state: present
      when: ansible_distribution_major_version|int(default=99) < 11
    
    - name: ensure mysql is started
      service:
        name: mysql
        state: started
        enabled: true
    
    - name: setup mysql backups with rsnapshot
      when: mysql_rsnapshot
      block:
        - name: ensure a read-only mysql user for backups exists
          mysql_user:
            name: "{{ mysql_backup_user }}"
            password: "{{ mysql_backup_password }}"
            priv: "*.*:SELECT,LOCK TABLES,SHOW VIEW,TRIGGER"
          no_log: true
    
        - name: ensure the backup procedure can access the backup password
          template:
            src: my.cnf
            dest: "/root/.mysql-{{ mysql_backup_user }}.cnf"
            owner: root
            group: root
            mode: '0600'
    
        - name: deploy the mysql backup script
          template:
            src: mysqlbackup.sh
            dest: /usr/local/bin/
            owner: root
            group: root
            mode: '0755'
    
        - name: ensure we backup all the mysql databases with rsnapshot
          copy:
            src: rsnapshot.conf
            dest: /etc/rsnapshot.d/mysql.conf
            owner: root
            group: root
            mode: '0644'
    
        - name: remove obsolete crontab
          file:
            path: /etc/cron.d/mysql-snapshot
            state: absent