--- - name: Create nextcloud restore dir ansible.builtin.file: path: "{{ nextcloud_tmp_path }}" state: directory mode: '777' - name: activate nextcloud maintenance mode become_user: "{{ nextcloud_websrv_user }}" become: true command: './console maintenance:mode --on' args: chdir: "{{ nextcloud_webroot }}" - name: "Compress directory {{ nextcloud_data_path }} into {{ nextcloud_tmp_path }}/data.tar.gz" become_user: "{{ nextcloud_websrv_user }}" become: true community.general.archive: path: "{{ nextcloud_data_path }}" dest: "{{ nextcloud_tmp_path }}/data.tar.gz" format: gz force_archive: true mode: '777' - name: Create a dump of the postgreSQL database # noqa : command-instead-of-module become: true become_user: "{{ nextcloud_websrv_user }}" ansible.builtin.command: "pg_dump -f dump.sql -F c -O -b {{ nextcloud_db_name }}" args: chdir: "{{ nextcloud_tmp_path }}" - name: copy nextcloud config file become_user: "{{ nextcloud_websrv_user }}" become: true ansible.builtin.copy: src: "{{ nextcloud_webroot }}/config/config.php" dest: "{{ nextcloud_tmp_path }}/config.php" remote_src: yes # because the config file is already in the nextcloud_tmp_path mode: '755' - name: Add read permissions to created tmp files become: true become_user: root ansible.builtin.file: path: "{{ nextcloud_tmp_path }}" owner: "{{ nextcloud_websrv_user }}" group: "{{ nextcloud_websrv_user }}" state: directory recurse: true mode: '755' # or 'u=rw,g=r,o=r' - name: Fetch nextcloud_data from atelier to ansible controller # become: true # become_user: "{{ nextcloud_websrv_user }}" ansible.builtin.fetch: src: "{{ item }}" dest: "/tmp/nextcloud/{{ domain }}/" flat: true loop: - "{{ nextcloud_tmp_path }}/dump.sql" - "{{ nextcloud_tmp_path }}/data.tar.gz" - "{{ nextcloud_tmp_path }}/config.php" - name: Supprimer les fichiers temporaires du serveur ateliers become: true become_user: "{{ nextcloud_websrv_user }}" ansible.builtin.file: path: "{{ item }}" state: absent loop: - "{{ nextcloud_tmp_path }}/dump.sql" - "{{ nextcloud_tmp_path }}/data.tar.gz" - "{{ nextcloud_tmp_path }}/config.php" # - name: deactivate nextcloud maintenance mode # become_user: "{{ nextcloud_websrv_user }}" # become: true # command: './console maintenance:mode --off' # args: # chdir: "{{ nextcloud_webroot }}"