나 하나 작업 중이야레스틱Ansible을 통한 SSH 기반 백업 솔루션. 세부 정보를 생략하면 저장소 URL로 사용됩니다 . 즉 , 보내는 서버의 백업 사용자에게 sftp:backups-{{ restic_backup_name }}:{{ inventory_hostname }}
다음 스탠자를 추가해야 함을 의미합니다 ..ssh/config
Host backup-{{ restic_backup_name }}
HostName {{ restic_backup_host }}
User restic-backup
IdentityFile /etc/restic/{{ restic_backup_name }}.key
보시다시피 템플릿에서 섹션을 생성하는 데에는 문제가 없지만 섹션이 .ssh/config
이미 존재하는 경우(아마도 드물지만 극단적인 경우를 설명하려고 함)에는 기존 파일을 덮어쓰고 싶지 않습니다. , 이 섹션을 추가하면 됩니다.
(이미 존재하는 경우 이 단계를 건너뛰는 것이 좋지만 현재로서는 선택사항입니다.)
답변1
이 문제를 조사하면서 깨달았습니다.블록 파일내가 원하는 것을 할 것이다:
- name: Create SSH config block
blockinfile:
path: /root/.ssh/config
block: |
Host backup-{{ restic_backup_name }}
HostName {{ restic_backup_host }}
User restic-backup
IdentityFile /etc/restic/{{ restic_backup_name }}.key
backup: yes
validate: /usr/sbin/sshd -T -f %s