쉘 스크립트를 통해 다른 서버에 로그인하는 방법

쉘 스크립트를 통해 다른 서버에 로그인하는 방법

다른 서버의 디스크 사용량이 임계값을 초과하는지 확인하는 스크립트를 작성 중입니다. 하지만 스크립트를 실행하면 올바른 출력이 제공되지 않고 사용자 비밀번호만 묻습니다.

내가 가지고 있는 스크립트는 다음과 같습니다.

#!/bin/sh
USERNAMES=("username-for hostname1" "username-for hostname2")
PASSWORDS=("passwd-for hostname1" "passwd-for hostname2")
output1=/tmp/disk-usage.out
echo "---------------------------------------------------------------------------"
echo "HostName            Filesystem                Size Used Avail Use% Mounted on"
echo "---------------------------------------------------------------------------"
for server in `more /imp/scripts/servers.txt`----list of the servers
do
output=`ssh $server df -Ph | tail -n +2 | sed s/%//g | awk '{ if($5 > 10) print $0;}'`
echo "$server: $output" >> $output1
done
cat $output1 | grep G | column -t
rm $output1

나에게 제공되는 결과는 다음과 같습니다.sh tt.sh

---------------------------------------------------------------------------
HostName            Filesystem                Size Used Avail Use% Mounted on
---------------------------------------------------------------------------
root@hostname1's password:

root@hostname2's password:

10.89.218.179:  /dev/mapper/vg_vm-lv_root  5.5G  2.6G  2.7G  50  /




__________________________________________________________________________________________________________

답변1

문제는 cat $output1 | grep G | column -t크기에 대해서만 grep을 원 G하지만 예상 출력에서는 출력도 보고자 한다는 것입니다 M. 이 grep 명령을 제거하거나 grep -- [GM].

관련 정보