웹서버(RHEL)의 상세정보를 확인하고 그 결과를 파일로 저장하는 스크립트를 작성했습니다. 그러나 스크립트는 루프에서 httpd -v 명령을 전달하지 않습니다.
여기에 스크립트가 있습니다.
#!/bin/bash
for i in `cat hosts`
do
echo "======$i======" >>/home/user/output.txt;
ssh $i \
'echo -n "Apache version: " ; httpd -v |grep -i Unix; \
echo -n "CPU Info: " ; cat /proc/cpuinfo|grep processor|wc -l; \
cat /proc/meminfo |egrep "MemTotal"; \
cat /proc/meminfo |egrep "MemFree"; \
cat /proc/meminfo |egrep "SwapTotal"; \
cat /proc/meminfo |egrep "SwapFree"; \
echo -n "VM Status: " ; ps -ef |grep -i vmtoolsd|egrep -v grep|wc -l; \
echo -n "Apache config: " ; ls -ltr /etc/httpd/conf/httpd.conf' >>/home/user/output.txt;
done
오류를 수정하도록 도와주세요..
답변1
httpd
일반적으로 기본 로그인 경로의 명령이 아닙니다. 실행 파일의 전체 경로를 명시적으로 지정하는 것이 좋습니다(예: /usr/sbin/httpd
.