因为集群经常要复制文件,所以写了一下脚本
#!/bin/bash
#文件复制方法
function copyFile
{
i=$1
fpath=$2
out=$3
#传输文件,判断是否为文件夹
if [ -d "$fpath" ]; then
scp -r $fpath root@slave$i:$out
elif [ -f "$fpath" ]; then
scp $fpath root@slave$i:$out
else
echo "$fpath is NOT a file or directory"
fi
#sleep
sleep 2
}
fpath=$1
out=$2
for i in {1,2,3}
do
echo "send file to slave$i"
#判断文件夹是否存在 不存在就创建
if ssh slave$i test -e "$out" ; then
copyFile $i $fpath $out
else
echo "the $out folder is NOT exist"
ssh slave$i "mkdir $out"
copytFile $i $fpath $out
fi
done
测试 ./test.sh [input_file or dir] [target_file or dir]