Linux – Как Синхронизировать Два Каталога На Одном Хосте С Помощью Ansible?

  • Автор темы Video-loader2020
  • Обновлено
  • 22, Oct 2024
  • #1

Я использую приведенную ниже книгу для монтирования разделов на других томах EBS при подготовке экземпляра на AWS.

 failed: [localhost] (item={u'dest': u'/var/', u'src': u'/var_old/'}) => {"ansible_loop_var": "item", "changed": false, "item": {"dest": "/var/", "src": "/var_old/"}, "msg": "could not find src=/run/acpid.socket, Could not find or access '/run/acpid.socket' on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option"} 

Я пробовал несколько способов скопировать данные обратно на вновь смонтированные тома EBS по имени задачи. cp .

Я пробовал использовать rsync synchronization & copy modules. I know using Copying /home data on new EBS это не рекомендуемый вариант, но я не вижу другого варианта, связанного с синхронизацией данных между каталогами с сохранением разрешений.

Но когда я делаю это вручную, все работает отлично.

Я монтирую эти разделы на другом EBS только потому, что меры по усилению безопасности CIS включают его.

Я уже подписался на пару блогов. такой как 1. 2. один

два

Может ли кто-нибудь помочь в решении этой проблемы? Это очень срочно. --- - name: Mounting necessary partitions hosts: localhost become: yes become_user: root tasks: - name: Ansible formating partitions. command: "{{ item }}" loop: - mkswap -f {{ ebs_swap }} - mkfs.xfs -f {{ ebs_home }} - mkfs.xfs -f {{ ebs_var }} - mkfs.xfs -f {{ ebs_tmp }} - mkfs.xfs -f {{ ebs_app }} - mv -f /home /home_old - mv -f /var /var_old - name: Dispaly uuid & store in variable command: blkid -s UUID -o value {{ ebs_swap }} register: uuid_swap - name: Dispaly uuid & store in variable command: blkid -s UUID -o value {{ ebs_home }} register: uuid_home - name: Dispaly uuid & store in variable command: blkid -s UUID -o value {{ ebs_var}} register: uuid_var - name: Dispaly uuid & store in variable command: blkid -s UUID -o value {{ ebs_tmp }} register: uuid_tmp - name: Dispaly uuid & store in variable command: blkid -s UUID -o value {{ ebs_app }} register: uuid_app - name: Creates directory file: path: "{{ item }}" state: directory with_items: - /home - /var - /tmp - /app - name: Add the below lines blockinfile: path: /etc/fstab state: present block: | UUID={{ uuid_swap.stdout }} swap swap defaults 0 0 UUID={{ uuid_home.stdout }} /home xfs defaults,nodev 0 0 UUID={{ uuid_var.stdout }} /var xfs defaults,noexec,nosuid,nodev 0 0 UUID={{ uuid_tmp.stdout }} /tmp xfs defaults,noexec,nosuid,nodev 0 0 UUID={{ uuid_app.stdout }} /app xfs defaults 0 0 - name: Mounting disks permanently command: "{{ item }}" loop: - swapon -a - mount -a - name: Copy multiple Directories copy: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" with_items: - { src: '/home_old/',dest: '/home/',mode: preserve} - { src: '/var_old/',dest: '/var/',mode: preserve}

ОШИБКА:

Video-loader2020


Рег
28 Jul, 2020

Тем
83

Постов
206

Баллов
641
  • 25, Oct 2024
  • #2

копировать Модуль копирует файл с локального или удаленного компьютера в место на удаленном компьютере.

Чтобы скопировать файл с самой удаленной машины, установите

 
     - name: Copy var directory

shell: |

cp -rpf /home_old/* /home

cp -rpf /var_old/* /var

args:

executable: /bin/bash
 
to - name: Copy multiple Directories copy: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" remote_src: yes with_items: - { src: '/home_old/',dest: '/home/',mode: preserve} - { src: '/var_old/',dest: '/var/',mode: preserve} .

yes ||answer||

Я использовал приведенный ниже код, чтобы решить проблему.

remote_src

Спасибо.

 

Zelenkin


Рег
20 Mar, 2006

Тем
72

Постов
208

Баллов
598
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно