--- - name: Backup script for the postgresql database(s) template: src=postgresql-backup.sh.j2 dest=/usr/local/sbin/postgresql-backup owner=root mode=0744 tags: [ 'pgbackup_cron', 'pg_backup', 'postgresql', 'postgres' ] - name: daily cron job for the postgresql database(s) backup copy: src=postgresql-backup.cron dest=/etc/cron.daily/postgresql-backup owner=root mode=0744 when: pgbackup_cron_step is undefined or pgbackup_cron_step < 1 or pgbackup_cron_step > 12 tags: [ 'pgbackup_cron', 'pg_backup', 'postgresql', 'postgres' ] - name: hour step cron job for the postgresql database(s) backup cron: name: "hourly step postgresql dump" minute: "10" hour: "*/{{ pgbackup_cron_step }}" job: "/usr/local/sbin/postgresql-backup.cron" when: pgbackup_cron_step is defined and pgbackup_cron_step >=1 and pgbackup_cron_step <= 12 tags: [ 'pgbackup_cron', 'pg_backup', 'postgresql', 'postgres' ] - name: postgresql backup defaults on deb/Ubuntu template: src=pg_backup-default.j2 dest={{ pg_backup_conf_dir }}/pg_backup owner=root mode=0744 when: ansible_distribution_file_variety == "Debian" tags: [ 'pg_backup', 'postgresql', 'postgres', 'pg_db' ] - name: postgresql backup defaults on EL template: src=pg_backup-default.j2 dest={{ pg_el_backup_conf_dir }}/pg_backup owner=root mode=0744 when: ansible_distribution_file_variety == "RedHat" tags: [ 'pg_backup', 'postgresql', 'postgres', 'pg_db' ] - name: Create the postgresql backups data directory file: dest={{ pg_backup_destdir }} owner=postgres group=postgres mode=700 recurse=yes state=directory tags: [ 'pg_backup', 'postgresql', 'postgres' ] - name: Create the postgresql WAL files backup directories file: dest={{ item }} owner=postgres group=postgres mode=700 recurse=yes state=directory with_items: - '{{ psql_wal_archiving_log_dir }}' - '{{ psql_base_backup_dir }}' when: psql_wal_files_archiving_enabled tags: [ 'pg_backup', 'postgresql', 'postgres' ] - name: Backup script for the postgresql streaming replication database(s) template: src=postgresql_wal_backup_and_removal.j2 dest=/usr/local/sbin/postgresql_wal_backup_and_removal owner=root mode=0744 tags: [ 'pg_stream_backup', 'postgresql', 'postgres' ] - name: backuppc root script for the postgresql streaming replication database(s) copy: src=backuppc_pg_wal.sh dest=/usr/local/sbin/backuppc_pg_wal.sh owner=root mode=0744 when: psql_wal_files_archiving_enabled tags: [ 'pg_stream_backup', 'postgresql', 'postgres' ] - name: authorization file for the psql command template: src=pgpass.j2 dest={{ pg_backup_pass_file }} owner=root mode=0600 tags: [ 'pg_backup', 'postgresql', 'postgres', 'pgpass', 'pg_db' ]