如何获取远程服务器主机名并将其用作文件名变量?使用此代码,我只获取本地计算机的主机名...
此脚本包含服务器阵列,连接到所有服务器并运行命令以解压缩文件,按日期降序排序CSV文件,保留前40行并上传到服务器。
在数组中有服务器的IP,而不是主机名。
file=$(hostname)$(date +%Y_%m_%d)
for server in "${servers[@]}"
do
ssh -t $user@$server << EOF
unzip -o "$location1"/1.zip -d "$localdir"/
cp -v "$localdir"/1.csv "$localdir"/jobs_optimized.csv
head -1 "$localdir"/jobs_optimized.csv > "$localdir"/"$file".csv |\
tail -n+2 "$localdir"/jobs_optimized.csv |\
sort -rn -t, -k5.7,5.10 -k5.4,5.5 -k 5.1,5.2 >> "$localdir"/"$file".csv
head -40 "$localdir"/"$file".csv > "$remotedir"/"$file".csv
ls "$remotedir"
EOF
scp $user@$server:$remotedir/"$failas".csv /tmp/
done
答案 0 :(得分:0)
您可以在远程主机上创建文件名:
# ....
head -40 "$localdir"/"$file".csv > "$remotedir"/"$file_$(hostname)".csv
ls "$remotedir"
EOF
scp $user@$server:$remotedir/"$failas*".csv /tmp/