本事例通过调用local()方法执行本地(主控端)命令,添加”@runs_once”修饰符保证该任务函数只执行一次。调用run()方法执行远程命令。详细源码如下:
【/home/tools/fabric3/simple1.py】
通过fab命令调用local_task任务函数运行结果:
fab -f simple1.py local_task |
结果中显示了”[192.168.80.250] Executing task ‘local_task'”,但事实上并非在主机192.168.80.250上执行任务,而是返回Fabric主机本地”uname -a”的执行结果。
调用remote_task任务函数的执行结果:
fab -f simple1.py remote_task |