diff --git a/roles/mgrote_rsync/defaults/main.yml b/roles/mgrote_rsync/defaults/main.yml index fb18b3da..8ae0a8c3 100644 --- a/roles/mgrote_rsync/defaults/main.yml +++ b/roles/mgrote_rsync/defaults/main.yml @@ -7,9 +7,10 @@ rsync_mirror_timer: '*-*-* *:00/5' #(every 5 minutes) rsync_mirror_private_key: "{{ lookup('viczem.keepass.keepass', 'rsync_mirror_private_key', 'notes') }}" rsync_mirror_public_key: "{{ lookup('viczem.keepass.keepass', 'rsync_mirror_public_key', 'notes') }}" +rsync_mirror_destination_host: pbs.mgrote.net rsync_mirror_dirs: - src: /hdd_data/tmp # slashes beachten - dest: rsync_mirror@pbs.mgrote.net:/backup/pve5/tmp + dest: /backup/pve5/tmp ## todo ssh konfig in datei statt inline? diff --git a/roles/mgrote_rsync/tasks/source.yml b/roles/mgrote_rsync/tasks/source.yml index 4700d6c4..a4a249b9 100644 --- a/roles/mgrote_rsync/tasks/source.yml +++ b/roles/mgrote_rsync/tasks/source.yml @@ -21,6 +21,15 @@ mode: "0400" # no_log: true # tido +- name: Ensure SSH-Config is templated + become: true + ansible.builtin.template: + src: ssh-config.j2 + dest: "/home/rsync_mirror/.ssh/config" + owner: "{{ rsync_mirror_user }}" + group: "{{ rsync_mirror_user_group }}" + mode: "0400" + - name: Ensure rsync_mirror-Script is templated become: true ansible.builtin.template: diff --git a/roles/mgrote_rsync/templates/rsync_mirror.sh.j2 b/roles/mgrote_rsync/templates/rsync_mirror.sh.j2 index 61253d9a..ac556bb6 100644 --- a/roles/mgrote_rsync/templates/rsync_mirror.sh.j2 +++ b/roles/mgrote_rsync/templates/rsync_mirror.sh.j2 @@ -2,5 +2,5 @@ {{ file_header | default () }} {% for item in rsync_mirror_dirs %} -rsync -e "ssh -i /etc/rsync_mirror/.ssh/id_rsync_mirror" --checksum --dry-run --bwlimit={{ rsync_mirror_bw_limit }} --archive --verbose --human-readable --stats --compress --fuzzy --force --delete-after --recursive {{ item.src }} {{ item.dest }} +rsync --checksum --dry-run --bwlimit={{ rsync_mirror_bw_limit }} --archive --verbose --human-readable --stats --compress --fuzzy --force --delete-after --recursive {{ item.src }} {{ rsync_mirror_user }}@{{ rsync_mirror_destination_host }}:{{ item.dest }} {% endfor %} diff --git a/roles/mgrote_rsync/templates/ssh-config.j2 b/roles/mgrote_rsync/templates/ssh-config.j2 new file mode 100644 index 00000000..1ec958e7 --- /dev/null +++ b/roles/mgrote_rsync/templates/ssh-config.j2 @@ -0,0 +1,5 @@ +### keys +StrictHostKeyChecking=accept-new +Host pbs.mgrote.net + User {{ rsync_mirror_user }} + IdentityFile /etc/rsync_mirror/.ssh/id_rsync_mirror