Mais conteúdo relacionado
Semelhante a FabricでJobSchedulerを全自動インストール (20)
FabricでJobSchedulerを全自動インストール
- 6. 4.Fabricの実行
◆fabコマンドを使用し実行します
# fab -H localhost -p password test
-H 実行するホストを指定
-p ホストのパスワード
※コマンドのオプションでホストを指定するほかfabfile.pyに以下を追加する
事で、省く事ができます。
env.hosts = ['192.168.106.162']
env.user = 'root'
env.password = 'password'
fab -f tt.py -H localhost -p password test
[localhost] Executing task 'test'
[localhost] run: pwd
[localhost] out: /root
◆実行結果
- 7. 5.JobSchedulerのインストール例
1)JRE32bitのインストール
run('cp /opt/fabric_file/jre-6u45-linux-i586.bin /opt')
jre-6u45-linux-i586.binを/optへコピー
run('chmod +x /opt/jre-6u45-linux-i586.bin')
コピーしたjre-6u45-linux-i586.binのパーミッションの変更
java_install='/opt/jre-6u45-linux-i586.bin
インストールコマンドを変数に格納
run('cd /opt && %s' %java_install )
JREのインストール
JobSchedulerをインストールする前に必要のモジュール等をインストールします。
(インストール元ファイルは事前に/opt/fabric_fileに格納、またソースはところどころ省略してます。)
2) mysql-connectorのインストール
with cd('/opt'):
run( cp fabric_file/mysql-connector-java-5.1.25.tar.gz .')
mysql-connector-java-5.1.25.tar.gzを/optにコピー
run('tar xvf mysql-connector-java-5.1.25.tar.gz')
mysql-connectorのインストール
変数にコマンドを入れることも可能
変数を使うには%sを仕様
Withを使用することにより作業ディレクトリを固定することが可能
※Fabricはfabコマンドを実行したユーザのディレクトリがルートディレクトリになり、コマンドを
実行するたびにルートに戻ってしまうため、毎回作業ディレクトリを入れる必要があります。
- 8. 3) JobSchedulerのインストール
adduser='scheduler'
インストールユーザを定義
with cd('/opt'):
run('cp fabric_file/jobscheduler_linux.1.3.12.3072.tar.gz /opt')
jobscheduler_linux.1.3.12.3072.tar.gzを/optへコピー
run('tar xvf jobscheduler_linux.1.3.12.3072.tar.gz')
run( cp jobscheduler.1.3.12.3072/jobscheduler_install.xml /home/%s %adduser )
run( sed -ie 's/key= databaseHost" value=""/key=" databaseHost " value=
192.168.106.162"/g' /home/%s/jobscheduler_install.xml" %adduser )
sedコマンドを使用し、jobscheduler_install.xmlの中身を置換
<entry key= databaseHost value= /> →
<entry key= databaseHost value= 192.168.100.248 />
run('export PATH=/opt/jre1.6.0_45/bin:$PATH')
インストールにはJRE32bitを使用するためパスをexport
run('chown %s:%s /opt/jobscheduler.1.3.12.3072' %(adduser,adduser))
sos_install= /opt/jobscheduler.1.3.12.3072/setup.sh -u
/home/%s/jobscheduler_install.xml' %adduser
sudo('sudo -u %s %s' %(adduser,sos_install))
sos_start= /opt/sos-berlin.com/jobscheduler/%s/bin/jobscheduler.sh start' %adduser
JobScheduler起動コマンドを変数に格納
run('%s' %sos_start)
JobSchedulerの起動
- 10. 7.envassert使用例
def check():
print('MySQL Process Check')
if process.is_up('mysqld'):
print('MySQL Runningn')
else:
print('Not MySQL Runningn')
if user.exists('scheduler'):
print('User:scheduler is presentn')
else:
print('User:scheduler not presentn')
print('JobScheduler StertUP')
if port.is_listening(4444):
print('JobScheduler Runningn')
else:
print('Not JobScheduler Runningn')
以下はMySQLの起動確認、 schedulerユーザの存在確認、
Jobscheduler(ポート4444の使用)の起動確認を行っている
サンプルとなります。
MySQLの起動確認
Schedulerユーザの確認
JobSchedulerの起動確認