쉘 스크립트가 나를 서버로 데려다줍니다.

쉘 스크립트가 나를 서버로 데려다줍니다.

서버 가동 시간이 1일 미만인지 확인해야 합니다. 그렇다면 cpuinfo meminfo와 같은 정보가 필요합니다. 스크립트는 다음과 같습니다

    for SERVER in $( cat /home/mysql/scripts/USER_SCRIPTS/patching_serverlist.txt); do
ping -c 3 $SERVER > /dev/null 2>&1
if [ $? -ne 0 ]
then
        echo "$SERVER is down" >> /home/mysql/scripts/USER_SCRIPTS/pre_patching_result.txt
else
        ssh -q mysql@$SERVER 
        check_uptime
        echo $days
        if [ days < 1 ]
        then
echo -n "Hostname: "
ssh -q mysql@$SERVER hostname >> /home/mysql/scripts/USER_SCRIPTS/pre_patching_result.txt

그것이 하는 일은 나를 서버로 데려가는 것입니다. 즉, 실제로 서버에 SSH를 통해 연결하고 check_uptime은 일수를 계산하는 함수입니다.

문제는 이 스크립트를 실행할 때 콘솔에서 서버에 들어가기 때문에 exit스크립트가 완료되면 서버에서 나가기 위해서는 를 입력해야 한다는 점입니다. 그냥 함수를 실행하고 종료하고 싶습니다. 어떻게 들어가서 기능을 실행하지 않습니까?

답변1

hostname나중에 원격 시스템에서 실행되는 스크립트에서 수행하는 것과 동일한 비대화형 로그인을 사용하십시오 .

days=$(ssh -q mysql@$SERVER /path/to/check_uptime)

관련 정보