ansible/roles/mirror/base/tasks/main.yml

87 lines
1.7 KiB
YAML

---
- name: install rsync
package:
name: rsync
state: installed
- name: create mirror group
group:
name: mirror
gid: 1001
- name: create mirror user
user:
name: mirror
comment: Service Mirror
createhome: false
group: mirror
home: /var/empty
shell: /sbin/nologin
uid: 1001
- name: create data directory
file:
path: /export/mirrors
state: directory
mode: 0755
owner: root
group: root
- name: create data directory link
file:
path: /srv/mirrors
state: link
src: /export/mirrors
owner: root
group: root
- name: create config directory
file:
path: /etc/sync-mirrors
state: directory
mode: 0755
owner: root
group: root
- name: create runtime and log directories
file:
path: "{{ item }}"
state: directory
mode: 0755
owner: mirror
group: mirror
with_items:
- /var/run/sync-mirrors
- /var/log/sync-mirrors
- name: configure tmpfiles to create runtime directory on boot
copy:
dest: /usr/lib/tmpfiles.d/sync-mirrors.conf
content: "d /run/sync-mirrors 0755 mirror mirror\n"
mode: 0644
owner: root
group: root
- name: copy mirroring script
copy:
dest: /usr/local/bin/sync-mirrors
src: sync-mirrors
mode: 0755
owner: root
group: root
- name: create mirror cron job
cron:
name: sync-mirrors
hour: "0,6,12,18"
minute: 0
job: /usr/local/bin/sync-mirrors
user: mirror
- name: create log rotate cron job for sync-mirrors
cron:
name: sync-mirrors-logs
hour: 5
minute: 10
job: "find /var/log/sync-mirrors/ -xdev -type f -mtime +30 -name '*.log' -execdir rm {} \\+"
user: mirror