You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
4.2 KiB

  1. ---
  2. ### Task dedicated to install ovzdb ###
  3. ### ref http://projets.developpeur-neurasthenique.fr/projects/openvz-diff-backups ###
  4. ## Check openvz hypervisor
  5. - name: check server is openvz hypervisor
  6. fail: msg="You are trying to install on a non-openvz hypervisor, exiting..."
  7. tags:
  8. - backup
  9. when: ansible_virtualization_type != 'openvz' and ansible_virtualization_role !='host'
  10. #### Download and extract openvz-diff-backup ####
  11. - name: install openvz-diff-backups - prerequisite
  12. apt: pkg={{item}} state=present update_cache=yes
  13. tags:
  14. - backup
  15. with_items:
  16. - dnsutils
  17. - libpcre3
  18. - rsync
  19. - bc
  20. - uuid-runtime
  21. - pbzip2
  22. ## TODO : possibility to reduce to one task with ansible 2.0
  23. ## Ref : option src de http://docs.ansible.com/ansible/unarchive_module.html
  24. - name: install openvz-diff-backups - download
  25. get_url:
  26. url=http://download.openvz-diff-backups.fr/releases/openvz-diff-backups_v0.9.4-beta.tar.gz
  27. dest=/tmp/openvz-diff-backup.tar.gz
  28. force=yes
  29. tags:
  30. - backup
  31. - name: install openvz-diff-backups - untar
  32. unarchive: src=/tmp/openvz-diff-backup.tar.gz dest=/root/ copy=no
  33. tags:
  34. - backup
  35. #### Configure openvz-diff-backups ####
  36. - name: install openvz-diff-backups - link to simple directory
  37. file:
  38. src=/root/openvz-diff-backups_v0.9.4-beta
  39. path=/root/openvz-diff-backups
  40. state=link
  41. tags:
  42. - backup
  43. - name: install openvz-diff-backups - upload conf file
  44. template: src=openvz-diff-backups.conf.j2 dest=/etc/openvz-diff-backups.conf
  45. tags:
  46. - backup
  47. - name: install openvz-diff-backups - create symlink to usr/local/bin
  48. file:
  49. src=/root/openvz-diff-backups/openvz-diff-backups
  50. path=/usr/local/bin/openvz-diff-backups
  51. state=link
  52. tags:
  53. - backup
  54. - name: install openvz-diff-backups - update to latest release - CAN TAKE A WHILE
  55. shell: /usr/local/bin/openvz-diff-backups update all install -c /etc/openvz-diff-backups.conf;/usr/local/bin/openvz-diff-backups update all check -c /etc/openvz-diff-backups.conf
  56. register: result
  57. until: result.stdout.find("your release is up to date") != -1
  58. retries: 10
  59. tags:
  60. - backup
  61. - name: install openvz-diff-backups - cron for dump
  62. cron: name="backup container with openvz-diff-backups" minute="{{ backup_minute }}" hour="{{ backup_hour }}" job='/usr/local/bin/openvz-diff-backups backup all auto -q -c /etc/openvz-diff-backups.conf> /dev/null'
  63. tags:
  64. - backup
  65. - name: install openvz-diff-backups - cron for purge
  66. cron: name="purge ct backups with openvz-diff-backups" minute="{{ purge_minute }}" hour="{{ purge_hour }}" job='/usr/local/bin/openvz-diff-backups delete all 7- -q -c /etc/openvz-diff-backups.conf > /dev/null'
  67. tags:
  68. - backup
  69. - name: install openvz-diff-backups - cron for replicate
  70. cron: name="upload ct backups with openvz-diff-backups" minute="{{ upload_minute }}" hour="{{ upload_hour }}" job='/usr/local/bin/openvz-diff-backups replicate all 0- -q -c /etc/openvz-diff-backups.conf > /dev/null'
  71. tags:
  72. - backup
  73. - name: install openvz-diff-backups - check and generate rsa key on server
  74. user: name=root generate_ssh_key=yes ssh_key_bits=4096
  75. tags:
  76. - backup
  77. - name: install openvz-diff-backups - get rsa key on the server
  78. shell: /bin/cat /root/.ssh/id_rsa.pub
  79. register: server_key
  80. ignore_errors: false
  81. tags:
  82. - backup
  83. - name: install openvz-diff-backups - install ssh key to backup server
  84. authorized_key: user=root key='{{ server_key.stdout }}'
  85. tags:
  86. - backup
  87. delegate_to: "{{ backup_server }}"
  88. - name: install openvz-diff-backups - install ssh key to upload server
  89. authorized_key: user=root key='{{ server_key.stdout }}'
  90. tags:
  91. - backup
  92. delegate_to: "{{ upload_server }}"
  93. ## Hook to create files to monitoring for openvz-diff-backups
  94. - name: monitoring for openvz-diff-backups - upload hook script
  95. copy: src=openvz-diff-backups-hook-OVZDB_WRITE_ERROR_REPORT dest=/root/openvz-diff-backups/etc/hooks/OVZDB_WRITE_ERROR_REPORT mode=0755
  96. tags:
  97. - backup
  98. - name: monitoring for openvz-diff-backups - activate hook
  99. file:
  100. src=/root/openvz-diff-backups/etc/hooks/OVZDB_WRITE_ERROR_REPORT
  101. path=/root/openvz-diff-backups/etc/hooks/hook-failure
  102. state=link
  103. tags:
  104. - backup