異なるジョブネットにあるユニット間の実行順序を,待ち合わせ条件を使用して制御
- 物理ホスト
--1.動作確認用ジョブネット作成
vim unitbackup.txt
unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
el=jobnet2,n,+0+0;
el=jobnet3,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
el=job12,j,+240+48;
ar=(f=job11,t=job12,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job12,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job21,j,+80+48;
el=job22,j,+240+48;
ar=(f=job21,t=job22,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job22,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job31,j,+80+48;
el=job32,j,+240+48;
ar=(f=job31,t=job32,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job32,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
}
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJSROOT1 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"
--2. 待ち合わせ条件の有効化
/opt/jp1ajs2/bin/jajs_spmd_stop
/opt/jp1ajs2/bin/jajs_spmd_status
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "PREWAITUSE"="yes"
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "PREWAITEXTEND"="condition"
/opt/jp1ajs2/bin/jajs_spmd
/opt/jp1ajs2/bin/jajs_spmd_status
--3.動作確認
--3.1. jobnet1 → jobnet2 → jobnet3
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"
→eun=待ち合わせ対象ユニット名; 追加
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"
--3.2. { jobnet1 and jobnet2 } → jobnet3
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"
→eun=待ち合わせ対象ユニット名; 追加
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"
- 論理ホスト
--1.動作確認用ジョブネット作成
vim unitbackup.txt
unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job12,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job22,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job32,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
}
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJS3SCHEDULE001 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"
--2. 待ち合わせ条件の有効化
/etc/opt/jp1ajs2/jajs_stop.cluster mmm190
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm190
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1AJSMANAGER\AJS3SCHEDULE001]" "PREWAITUSE"="yes"
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1AJSMANAGER\AJS3SCHEDULE001]" "PREWAITEXTEND"="condition"
/etc/opt/jp1ajs2/jajs_start.cluster mmm190
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm190
--3.動作確認
--3.1. jobnet1 → jobnet2 → jobnet3
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"
→eun=待ち合わせ対象ユニット名; 追加
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"
--3.2. { jobnet1 and jobnet2 } → jobnet3
export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"
→eun=待ち合わせ対象ユニット名; 追加
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"
--4. 待機系への反映
--マネージャ
共通定義情報の出力
/opt/jp1base/bin/jbsgetcnf -h mmm190 > /root/jbscnf.txt
scp /root/jbscnf.txt mmm192:/root
共通定義情報の取り込み
ssh mmm192 "/opt/jp1base/bin/jbssetcnf /root/jbscnf.txt"