瀏覽代碼

first commit

Laurent Hory 9 年之前
當前提交
dc30d1b26b

+ 7 - 0
playbook.yml

@@ -0,0 +1,7 @@
+- name: backup server
+  hosts: "{{ hosts }}"
+  remote_user: root
+  roles:
+    - website
+    - postfix
+    - gogs

+ 11 - 0
roles/gogs/tasks/main.yml

@@ -0,0 +1,11 @@
+- name: create backup directory
+  file:
+    path: "{{ backup_gogs }}"
+    state: directory
+  delegate_to: localhost
+
+- name: backup gogs data
+  synchronize:
+    mode: pull
+    src: /home/gogs/
+    dest: "{{ backup_gogs }}"

+ 1 - 0
roles/gogs/vars/main.yml

@@ -0,0 +1 @@
+backup_gogs: "{{ backup_path }}/gogs"

+ 25 - 0
roles/postfix/tasks/main.yml

@@ -0,0 +1,25 @@
+- name: create backup directory
+  file:
+    path: "{{ backup_postfix }}"
+    state: directory
+  delegate_to: localhost
+
+- name: backup postfix database
+  mysql_db:
+    state: dump
+    name: postfix
+    login_user: postfix
+    login_password: "{{ db_pwd_postfix }}"
+    target: "/var/www/postfix-sqlbkp.bak"
+
+- name: copy backup database
+  synchronize:
+    mode: pull
+    src: /var/www/postfix-sqlbkp.bak
+    dest: "{{ backup_postfix }}"
+
+- name: backup mail directory
+  synchronize:
+    mode: pull
+    src: /var/vmail
+    dest: "{{ backup_postfix }}"

+ 1 - 0
roles/postfix/vars/main.yml

@@ -0,0 +1 @@
+backup_postfix: "{{ backup_path }}/postfix"

+ 66 - 0
roles/website/tasks/main.yml

@@ -0,0 +1,66 @@
+- name: create backup directory
+  file:
+    path: "{{ backup_website }}"
+    state: directory
+  delegate_to: localhost
+
+- name: backup website
+  synchronize:
+    mode: pull
+    src: "/var/www/{{ item }}"
+    dest: "{{ backup_website }}"
+  with_items: "sites"
+
+### Sonerezh and sound ###
+- name: create backup directory
+  file:
+    path: "{{ backup_website }}/sound"
+    state: directory
+  delegate_to: localhost
+
+- name: backup sound website
+  synchronize:
+    mode: pull
+    src: /var/www/sound/sonerezh
+    dest: "{{ backup_website }}/sound"
+
+- name: backup sonerezh database
+  mysql_db:
+    state: dump
+    name: sonerezh
+    login_user: sonerezh
+    login_password: "{{ db_pwd_sonerezh }}"
+    target: "/var/www/sonerezh-sqlbkp.bak"
+
+- name: copy backup database
+  synchronize:
+    mode: pull
+    src: /var/www/sonerezh-sqlbkp.bak
+    dest: "{{ backup_website }}"
+
+#- name: backup sound data
+  synchronize:
+    mode: pull
+    src: /var/www/sound/Music
+    dest: "{{ backup_website }}/sound"
+
+### Owncloud ###
+- name: backup owncloud database
+  mysql_db:
+    state: dump
+    name: owncloud6
+    login_user: cloudAdmin
+    login_password: "{{ db_pwd_owncloud }}"
+    target: "/var/www/owncloud-sqlbkp.bak"
+
+- name: copy backup database
+  synchronize:
+    mode: pull
+    src: /var/www/owncloud-sqlbkp.bak
+    dest: "{{ backup_website }}"
+
+- name: backup owncloud website
+  synchronize:
+    mode: pull
+    src: /var/www/owncloud
+    dest: "{{ backup_website }}"

+ 7 - 0
roles/website/vars/main.yml

@@ -0,0 +1,7 @@
+sites:
+  - monitor
+  - site
+  - postfixadmin
+  - wiki
+
+backup_website: "{{ backup_path }}/website"