??????????????
????????????????????????????host
#!/usr/bin/env python
# encoding: utf-8
from fabric.api import *
#??????μ???????????????飬???????????????
env.roledefs = {
'testserver': ['user1@host1:port1'??]??
'realserver': ['user2@host2:port2'?? ]
}
#env.password = '?????????????????????????????????μ???????д???????????????ssh????'
@roles('testserver')
def task1():
run('ls -l | wc -l')
@roles('realserver')
def task2():
run('ls ~/temp/ | wc -l')
def dotask():
execute(task1)
execute(task2)
?????????
[ken@~/tmp/fab$] fab -f mult.py dotask
[user1@host1:port1] Executing task 'task1'
[user1@host1:port1] run: ls -l | wc -l
[user1@host1:port1] out: 9
[user1@host1:port1] out:
[user2@host2:port2] Executing task 'task2'
[user2@host2:port2] run: ls ~/temp/ | wc -l
[user2@host2:port2] out: 11
[user2@host2:port2] out:
Done.
???????
????1.???
???????????????????????????????????????????
????from fabric.colors import *
????def show():
????print green('success')
????print red('fail')
????print yellow('yellow')
????#fab -f color.py show
????2.???????
?????????????
?????????????????????????????????????????????
???????????????в?????????? ???
????????????????????????
????3.???????
?????????
?????????????????????????????????????????????б?仯????????????????
????1.host??user??port??password?????б?????е??д????????
?????????????????????????........
env.hosts = [
'host1'??
'host2'
]
env.passwords = {
'host1': "pwdofhost1"??
'host2': "pwdofhost2"??
}
????
env.roledefs = {
'testserver': ['host1'?? 'host2']??
'realserver': ['host3'?? ]
}
env.passwords = {
'host1': "pwdofhost1"??
'host2': "pwdofhost2"??
'host3': "pwdofhost3"??
}
????2.????key??????map???????deploy??
???????????????????????????cmds?б??…