The power of the shell script
2010-06-11 21:57
267 查看
I used to deploy our application into 200 centos machine, and these machines are far from my current office site. The deployment is simple.
Firstly sync the code and build in the Head Linux ( one of the machine in the Linux farm). Then copy the build to the other 199 machines.
Finally start the application on all the machines.
Yes, it is very simple. But if you deploy it in hand ,it will be crazy. It's the place to show the power of the shell script.
1. Sync code and build in one "build.sh" scipt.
2. Copy the build to other machine in scp-range.sh script, which use the scp command.
#!/bin/sh
build=$1
destination=$2
iplists=$3
for host in $(cat $iplists)
do
scp $1 host:$destination
done
Wow, so cool!
One way , you can see, is that it without typing password. I has two way to solve it. One is use the ssh authorized using the key-pair. The other way is to use the expect script.
Note: All the machine have the same password.
3. Start the application in the remote.
#!/bin/sh
cmd=$1
iplists=$3
for host in $(cat $iplists)
do
ssh -t -t -f host "$cmd"
done
Wow, so cool. When I run these script, it give my sharp surprise.
Of course, all the 3 steps can be automated. You can just type one command to execute whole the thing.
If I want to automate these in window os, OMG, it will be impossible for me .
This is the way I see the power of Linux .
Firstly sync the code and build in the Head Linux ( one of the machine in the Linux farm). Then copy the build to the other 199 machines.
Finally start the application on all the machines.
Yes, it is very simple. But if you deploy it in hand ,it will be crazy. It's the place to show the power of the shell script.
1. Sync code and build in one "build.sh" scipt.
2. Copy the build to other machine in scp-range.sh script, which use the scp command.
#!/bin/sh
build=$1
destination=$2
iplists=$3
for host in $(cat $iplists)
do
scp $1 host:$destination
done
Wow, so cool!
One way , you can see, is that it without typing password. I has two way to solve it. One is use the ssh authorized using the key-pair. The other way is to use the expect script.
Note: All the machine have the same password.
3. Start the application in the remote.
#!/bin/sh
cmd=$1
iplists=$3
for host in $(cat $iplists)
do
ssh -t -t -f host "$cmd"
done
Wow, so cool. When I run these script, it give my sharp surprise.
Of course, all the 3 steps can be automated. You can just type one command to execute whole the thing.
If I want to automate these in window os, OMG, it will be impossible for me .
This is the way I see the power of Linux .
相关文章推荐
- How to write a shell script to check the return value of main()
- PX Deq Credit: send blkd (2)---Script to Report the Degree of Parallelism DOP
- hdu4461 The Power of Xiangqi【水题】
- The Power of Xiangqi(水题)
- The Power of Blending Options(混合选项的强大功能)
- URAL 1920 Titan Ruins: the Infinite Power of Magic
- 完全用Python工作---Harness the power of Python
- PowerTip of the Day from powershell.com上周汇总(十一)
- failed to sync branch You might need to open a shell and debug the state of this repo.
- hdu 4461 The Power of Xiangqi(水题)
- URAL 1920 Titan Ruins: the Infinite Power of Magic
- npm should be run outside of the node repl, in your normal shell
- The quadratic hash method when the table size is a power of 2
- HDU-#4461 The Power of Xiangqi
- reboot shell script (the second edition)
- failed to sync branch You might need to open a shell and debug the state of this repo
- failed to sync branch You might need to open a shell and debug the state of this repo
- failed to sync branch You might need to open a shell and debug the state of this repo
- PowerTip of the Day from powershell.com上周汇总(八)
- PowerTip of the Day from powershell.com上周汇总(九)