import playbook
This commit is contained in:
parent
9ddea36088
commit
1e2ca5c302
105
ansible-playbook/linux-updater.v4_script_verteilen.yml
Normal file
105
ansible-playbook/linux-updater.v4_script_verteilen.yml
Normal file
@ -0,0 +1,105 @@
|
||||
---
|
||||
- name: Update und Cronjob Setup für Linux Server (version 4)
|
||||
hosts: int_linux_servers:ext_linux_servers:int_linux_pbs
|
||||
# hosts: linux-testen
|
||||
become: yes
|
||||
vars:
|
||||
script_path: "/home/scripts/default/linux-updater.v4.sh"
|
||||
env_path: "/root/.env/.linux-updater.v4.env"
|
||||
script_src: "./files/linux-updater.v4.sh"
|
||||
env_src: "./files/.linux-updater.v4.env"
|
||||
old_scripts:
|
||||
- "/home/scripts/default/weekly_update.sh"
|
||||
- "/home/scripts/default/weekly-update.v3.sh"
|
||||
- "/home/scripts/default/weekly-update-2.0.sh"
|
||||
- "/home/scripts/default/weekly-update.v2.sh"
|
||||
- "/home/scripts/default/linux-updater.v4.sh"
|
||||
old_env:
|
||||
- "/root/.env/.weekly-update.v3.env"
|
||||
- "/root/.env/.linux-updater.v4.env"
|
||||
- "/root/.env/.linux-update.v4.env"
|
||||
cron_jobs_legacy:
|
||||
- "@weekly bash /home/scripts/default/weekly-update.v3.sh > /dev/null 2>&1"
|
||||
- "@weekly bash /home/scripts/default/weekly-update.v2.sh > /dev/null 2>&1"
|
||||
cron_jobs:
|
||||
- "Monatliches Update Script"
|
||||
- "Woechentliches Weekly-Update Skript v2"
|
||||
- "Wöchentliches Weekly-Update Skript v2"
|
||||
- "Wöchentliches Update Skript"
|
||||
|
||||
tasks:
|
||||
- name: Lösche alte Skripte
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items: "{{ old_scripts }}"
|
||||
|
||||
- name: Lösche alte .env
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items: "{{ old_env }}"
|
||||
|
||||
- name: Entferne alte Cronjobs (legacy)
|
||||
ansible.builtin.cron:
|
||||
name: "Entferne altes Cronjob - {{ item }}"
|
||||
job: "{{ item }}"
|
||||
state: absent
|
||||
with_items: "{{ cron_jobs_legacy }}"
|
||||
|
||||
- name: Entferne alte Cronjobs (persoenlich)
|
||||
cron:
|
||||
name: "{{ item }}"
|
||||
user: "{{ ansible_user | default('root') }}"
|
||||
state: absent
|
||||
loop: "{{ cron_jobs }}"
|
||||
|
||||
- name: Entferne alte Cronjobs (cron_file)
|
||||
cron:
|
||||
name: "{{ item }}"
|
||||
user: "{{ ansible_user | default('root') }}"
|
||||
state: absent
|
||||
cron_file: "monthly_script_update"
|
||||
loop: "{{ cron_jobs }}"
|
||||
|
||||
- name: Stelle sicher, dass das Skriptverzeichnis existiert
|
||||
ansible.builtin.file:
|
||||
path: "/home/scripts/default/"
|
||||
state: directory
|
||||
mode: '0711'
|
||||
|
||||
- name: Stelle sicher, dass das ENV Verzeichnis existiert
|
||||
ansible.builtin.file:
|
||||
path: "/root/.env/"
|
||||
state: directory
|
||||
mode: '0711'
|
||||
|
||||
- name: Verteile das neue Skript
|
||||
ansible.builtin.copy:
|
||||
src: "{{ script_src }}"
|
||||
dest: "{{ script_path }}"
|
||||
mode: '0711'
|
||||
|
||||
- name: Richte neuen Cronjob ein
|
||||
ansible.builtin.cron:
|
||||
name: "Monatliches Update Script"
|
||||
user: "{{ ansible_user | default('root') }}"
|
||||
job: "/home/scripts/default/linux-updater.v4.sh > /dev/null 2>&1"
|
||||
minute: "0"
|
||||
hour: "0"
|
||||
day: "1-7"
|
||||
weekday: "0"
|
||||
month: "*"
|
||||
cron_file: "monthly_script_update"
|
||||
state: "present"
|
||||
|
||||
- name: Verteile die .env Datei
|
||||
ansible.builtin.copy:
|
||||
src: "{{ env_src }}"
|
||||
dest: "{{ env_path }}"
|
||||
mode: '0711'
|
||||
|
||||
- name: Führe das Skript einmalig aus
|
||||
ansible.builtin.shell: bash < /home/scripts/default/linux-updater.v4.sh
|
||||
args:
|
||||
executable: /bin/bash
|
Loading…
Reference in New Issue
Block a user