summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/monitor
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/ansible/roles/monitor')
-rw-r--r--deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh7
-rw-r--r--deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh8
-rw-r--r--deploy/adapters/ansible/roles/monitor/tasks/main.yml8
-rw-r--r--deploy/adapters/ansible/roles/monitor/vars/Debian.yml4
-rw-r--r--deploy/adapters/ansible/roles/monitor/vars/RedHat.yml3
5 files changed, 27 insertions, 3 deletions
diff --git a/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh b/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh
new file mode 100644
index 00000000..0138100c
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+services=`cat /opt/service | uniq`
+for service in $services; do
+ if [ `/sbin/initctl list|awk '/stop\/waiting/{print $1}'|uniq | grep $service` ]; then
+ /sbin/start $service
+ fi
+done
diff --git a/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh b/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh
new file mode 100644
index 00000000..0fd921f4
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+services=`cat /opt/service | uniq`
+for service in $services; do
+ /usr/sbin/service $service status >/dev/null 2>&1
+ if [[ $? -ne 0 ]]; then
+ /usr/sbin/service $service start
+ fi
+done
diff --git a/deploy/adapters/ansible/roles/monitor/tasks/main.yml b/deploy/adapters/ansible/roles/monitor/tasks/main.yml
index e5b93f39..6e446944 100644
--- a/deploy/adapters/ansible/roles/monitor/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/monitor/tasks/main.yml
@@ -1,11 +1,13 @@
---
+- include_vars: "{{ ansible_os_family }}.yml"
+
- name: copy service check file
- copy: src=check_service.sh dest=/usr/local/bin/check_service.sh mode=0777
+ copy: src=check_{{ ansible_os_family }}_service.sh dest=/usr/local/bin/check_service.sh mode=0777
- name: copy cron file
- copy: src=root dest=/var/spool/cron/crontabs/root mode=0600
+ copy: src=root dest={{ cron_path }}/root mode=0600
- name: restart cron
- service: name=cron state=restarted
+ service: name={{ cron }} state=restarted
diff --git a/deploy/adapters/ansible/roles/monitor/vars/Debian.yml b/deploy/adapters/ansible/roles/monitor/vars/Debian.yml
new file mode 100644
index 00000000..7de590c9
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/vars/Debian.yml
@@ -0,0 +1,4 @@
+---
+cron: cron
+cron_path: "/var/spool/cron/crontabs"
+
diff --git a/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml b/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml
new file mode 100644
index 00000000..f4ff7657
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml
@@ -0,0 +1,3 @@
+---
+cron: crond
+cron_path: "/var/spool/cron"