現在、Ansibleで環境構築の自動化するロールを書いています。
実行対象は、localhostです。
以下のシェルスクリプトがサービスとして登録はされるのですが、Ansibleでの自動実行がされません。
bash
1#!/usr/bin/env bash 2# chkconfig: 2345 99 10 3# description: Test Runner 4# processname: Test_Service 5 6lock_file=/var/lock/subsys/Test_Service 7 8case "$1" in 9 start) 10 if [ -f $lock_file ]; then 11 echo 'Test_Service Already Running' 12 exit 1 13 fi 14 15 /usr/bin/env ruby /usr/local/bin/test.rb 16 touch ${lock_file} 17 ;; 18 stop) 19 /usr/bin/env ruby /usr/local/bin/test.rb 20 rm -f ${lock_file} 21 ;; 22 *) break ;; 23esac
playbook実行後、chkconfigには、登録され正しくONとなっています。
shell
1Test_Service 0:off 1:off 2:on 3:on 4:on 5:on 6:off
また、手動で以下の通り実行するとstartに記載されたスクリプトが正しく実行されます。
shell
1sudo service Test_Service start
playbookは、以下の通りです。
YAML
1- name: Copy Test_Service ShellScript 2 copy: > 3 src=Test_Service.sh 4 dest=/etc/init.d/Test_Service 5 owner=root 6 group=root 7 mode=0755 8 9- name: Test_Service Add Service & Start 10 service: name=Test_Service enabled=yes state=started
お分かりになる方、ご指導を何卒よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。