分发master机器文件的python脚本
#coding=utf-8
import os
print("注意python2的input需要加引号'或者“")
contents=input("请输入 <filepath1>|<filepath2> <host1>|<host2> <user> 此类内容命令:\n")
# eg: /usr/local/flink|/usr/local/hadoop slave1|slave2|slave3
paths=contents.strip().split(" ")[0]
hosts=contents.strip().split(" ")[1]
n=len(contents.strip().split(" "))
for path in paths.split("|"):
for host in hosts.split("|"):
user=contents.strip().split(" ")[2] if n>=3 else "root"
cmd = "sudo scp -r {} {}@{}:{}".format(path, user,host, os.path.dirname(path))
os.system(cmd)
# print(cmd)
print("-"*50)
因为centOS7.5上默认安装了python2,所以以上的程序是可以在centOS7.5上直接进行运行的,
只需要在终端中执行python batchCopy.py即可执行,之后需要输入/usr/local/flink|/usr/local/hadoop slave1|slave2|slave3这类值作为参数,就可以实现/usr/local/flink和/usr/local/hadoop两个文件夹上传到slave1、slave2和slave3机器的/usr/local目录下,当然中间会需要进行密码输入。
但需要注意的是,python2的input语句在输入字符串时,必须带引号。