diff --git a/group_vars/stage_prodnso/backup.yml b/group_vars/stage_prodnso/backup.yml new file mode 100644 index 0000000..f6bc30d --- /dev/null +++ b/group_vars/stage_prodnso/backup.yml @@ -0,0 +1,2 @@ +backup_lvm_hcloudvol_size: 30 +backup_lvm_hcloudvol_count: 2 diff --git a/roles/backup/defaults/main.yml b/roles/backup/defaults/main.yml index 5abfc64..7f65568 100644 --- a/roles/backup/defaults/main.yml +++ b/roles/backup/defaults/main.yml @@ -1,2 +1,6 @@ --- system_user: backuphamster + +backup_lvm_hcloudvol_size: 10 +backup_lvm_hcloudvol_count: 1 +backup_lvm_hcloudvol_mountpath: '/home/{{ system_user }}/backups' diff --git a/roles/backup/files/pull_remote_backups.sh b/roles/backup/files/pull_remote_backups.sh index ab8d20f..f354473 100644 --- a/roles/backup/files/pull_remote_backups.sh +++ b/roles/backup/files/pull_remote_backups.sh @@ -10,7 +10,7 @@ DATABASE_ENGINE=$3 DEST_DIR=${HOME}/backups/${STAGE}/${DATABASE_ENGINE}/ # remove files oder than XX in backup-DIR -find ${DEST_DIR} -type f -mtime +1 -delete +find ${DEST_DIR} -type f -mtime +3 -delete mkdir -p ${DEST_DIR} rsync -av --remove-source-files -e "ssh -o StrictHostKeyChecking=no" ${REMOTE_SYSTEM_USER}@${DATABASE_SERVER_IP}:/backups/${DATABASE_ENGINE}/* ${DEST_DIR}/ diff --git a/roles/backup/files/push_backups_to_restore_server.sh b/roles/backup/files/push_backups_to_restore_server.sh index db8018e..660246e 100644 --- a/roles/backup/files/push_backups_to_restore_server.sh +++ b/roles/backup/files/push_backups_to_restore_server.sh @@ -30,3 +30,4 @@ rsync -v -e "ssh ${SSH_OPTIONS}" $BACKUP_FILE_FOR_TRANSFER ${REMOTE_SYSTEM_USER} BKP_FILE_TRANSFERRED=$(echo $BACKUP_FILE_FOR_TRANSFER | awk -F / '{ print $NF}') ssh ${SSH_OPTIONS} ${REMOTE_SYSTEM_USER}@${DATABASE_SERVER_IP} "test -f ${DEST_DIR}${BKP_FILE_TRANSFERRED}" + diff --git a/roles/backup/tasks/main.yml b/roles/backup/tasks/main.yml index f2f83cc..f8fb2a8 100644 --- a/roles/backup/tasks/main.yml +++ b/roles/backup/tasks/main.yml @@ -1,4 +1,5 @@ --- + - name: "Backup storage server | create system user" become: yes ansible.builtin.user: @@ -7,14 +8,31 @@ shell: /bin/bash register: create_user -- name: "Create .ssh dir" + +- name: "Create .ssh dir and backups dir" become: yes file: - path: '/home/{{ system_user }}/.ssh/' - mode: '0700' + path: '/home/{{ system_user }}/{{ item.name }}/' + mode: '{{ item.mode }}' owner: '{{ system_user }}' group: '{{ system_user }}' state: directory + loop: + - name: '.ssh' + mode: '0700' + - name: 'backups' + mode: '0775' + +- name: "Create/Resize LVM for datadir" + include_role: + name: lvm_with_hetzner_volumes + vars: + lvm_with_hetzner_volumes__volprefix: backup_datadir + lvm_with_hetzner_volumes__volsize: "{{ backup_lvm_hcloudvol_size }}" + lvm_with_hetzner_volumes__volcount: "{{ backup_lvm_hcloudvol_count }}" + lvm_with_hetzner_volumes__mountpath: "{{ backup_lvm_hcloudvol_mountpath }}" + + - name: "Providing SSH priv.key" no_log: true