스 크 립 트 가 Nginx 소프트웨어 를 원 키 로 배치 합 니 다 (웹 서버):

  1:          
  2:    
  3:      
  4:        
  5:        

1 사례 1: 원 키 배치 소프트웨어 스 크 립 트 1.1 문제 작성
이 사례 는 Nginx 소프트웨어 (웹 서버) 를 원 클릭 으로 배치 하 는 스 크 립 트 를 작성 해 야 합 니 다.
      Nginx  
              
      yum    

1.2 단계
이 사례 를 실현 하려 면 다음 과 같은 절차 에 따라 진행 해 야 한다.
STEP 1: 준비 작업
1) yum 소스 사용 가능 여부 판단
yum repolist 를 통 해 패키지 의 수량 이 0 보다 많은 지 확인 합 니 다.
[root@svr5 ~]# yum repolist 
[root@svr5 ~]# yum repolist | awk '/repolist/{print $2}' 
[root@svr5 ~]# yum repolist | awk '/repolist/{print $2}' |sed 's/,//'
[root@svr5 ~]# N=$(yum repolist | awk '/repolist/{print $2}' |sed 's/,//')
[root@svr5 ~]# [ $N –le 0 ] && echo 'yum    '

2) 의존 팩
소스 코드 설치 Nginx 는 패키지 의존 소프트웨어 gcc, openssl - devel, pcre - devel 을 미리 설치 해 야 합 니 다.
단계 2: 스 크 립 트 작성
1) 참고 스 크 립 트 내용 은 다음 과 같 습 니 다.
[root@svr5 ~]# vim test.sh
#!/bin/bash
N=$(yum repolist | awk '/repolist/{print $2}' | sed 's/,//')
if [ $N -le 0 ];then
    echo "yum    "
    exit
fi
yum -y install gcc openssl-devel pcre-devel
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure
make
make install

2) 설치 효과 확인
Nginx 의 기본 설치 경 로 는 / usr / local / nginx 입 니 다. 이 디 렉 터 리 에 서 는 4 개의 하위 디 렉 터 리 를 제공 합 니 다. 각각 다음 과 같 습 니 다.
/ usr / local / nginx / conf 프로필 디 렉 터 리
/ usr / local / nginx / html 사이트 페이지 디 렉 터 리
/ usr / local / nginx / logs Nginx 로그 디 렉 터 리
/ usr / local / nginx / sbin 홈 프로그램 디 렉 터 리
주 프로그램 명령 인자:
[root@svr5 ~]# /usr/local/nginx/sbin/nginx                //    
[root@svr5 ~]# /usr/local/nginx/sbin/nginx    -s stop        //    
[root@svr5 ~]# /usr/local/nginx/sbin/nginx    -V            //      

2 사례 2: 시작 스 크 립 트 2.1 문제
이 사례 는 Ngin 시작 스 크 립 트 를 작성 해 야 합 니 다. 다음 과 같이 요구 합 니 다.
    start、stop、restart、status
        
                  

2.2 단계
이 사례 를 실현 하려 면 다음 과 같은 절차 에 따라 진행 해 야 한다.
단계 1: 스 크 립 트 작성
스 크 립 트 는 위치 변수 $1 을 통 해 사용자 의 조작 명령 을 읽 고 start, stop, restart 인지 status 인지 판단 합 니 다.
netstat 명령 은 시스템 에서 시 작 된 포트 정 보 를 볼 수 있 습 니 다. 이 명령 은 다음 과 같이 자주 사용 합 니 다.
- n 포트 번 호 를 디지털 형식 으로 표시 합 니 다.
- t TCP 연결 포트 표시
- u UDP 연결 포트 표시
- l 서비스 가 감청 하고 있 는 포트 정 보 를 표시 합 니 다. 예 를 들 어 httpd 가 시작 되면 80 포트 를 계속 감청 합 니 다.
- p 감청 포트 의 서비스 이름 이 무엇 인지 표시 합 니 다 (즉 프로그램 이름)
1) 참고 스 크 립 트 내용 은 다음 과 같 습 니 다.
[root@svr5 ~]# vim test.sh
#!/bin/bash
case $1 in
start)
        /usr/local/nginx/sbin/nginx;;
stop)
        /usr/local/nginx/sbin/nginx -s stop;;
restart)
        /usr/local/nginx/sbin/nginx -s stop
        /usr/local/nignx/sbin/nginx;;
status)
        netstat -ntulp |grep -q nginx
        if [ $? -eq 0 ];then
echo      
else
echo      
fi;;
*)
        echo Error;;
esac

2) 테스트 스 크 립 트 실행:
[root@svr5 ~]# ./test.sh start
[root@svr5 ~]# ./test.sh stop
[root@svr5 ~]# ./test.sh status
[root@svr5 ~]# ./test.sh xyz

3 사례 3: 모니터링 스 크 립 트 작성 3.1 문제
본 사례 는 스 크 립 트 를 작성 하여 컴퓨터 의 각 개성 데이터 모니터링 기능 을 실현 하도록 요구 합 니 다. 구체 적 인 모니터링 항목 은 다음 과 같 습 니 다.
CPU  
    
      
      
       
        
            
           

3.2 단계
이 사례 를 실현 하려 면 다음 과 같은 절차 에 따라 진행 해 야 한다.
STEP 1: 준비 작업
1) 성능 데이터 보기 명령
[root@svr5 ~]# uptime                            //  CPU  
[root@svr5 ~]# ifconfig eth0                    //      
[root@svr5 ~]# free                            //      
[root@svr5 ~]# df                                //      
[root@svr5 ~]# wc -l /etc/passwd                //         
[root@svr5 ~]# who |wc -l                        //        
[root@svr5 ~]# rpm -qa |wc -l                    //          

단계 2: 참고 스 크 립 트 작성
1) 스 크 립 트 내용 은 다음 과 같 습 니 다.
[root@svr5 ~]# vim test.sh
#!/bin/bash
ip=`ifconfig eth0 | awk '/inet /{print $2}'`
echo "  IP   :"$ip
cpu=`uptime | awk '{print $NF}'`            
#awk NF       ,$NF     
echo "  CPU  15      :"$cpu
net_in=`ifconfig eth0 | awk '/RX p/{print $5}'`
echo "       :"$net_in
net_out=`ifconfig eth0 | awk '/TX p/{print $5}'`
echo "       :"$net_out
mem=`free | awk '/Mem/{print $4}'`
echo "       :"$mem
disk=`df | awk '/\/$/{print $4}'`
echo "        :"$disk
user=`cat /etc/passwd |wc -l`
echo "       :"$user
login=`who | wc -l`
echo "             :"$login
process=`ps aux | wc -l`
echo "             :"$process
soft=`rpm -qa | wc -l`
echo "              :"$soft

4 사례 4: 보안 검색 스 크 립 트 작성 4.1 문제
이 사례 는 원 격 ssh 폭력 으로 암 호 를 풀 지 않도록 스 크 립 트 를 작성 해 야 합 니 다. 구체 적 인 모니터링 항목 은 다음 과 같 습 니 다.
  ssh    ,           3 ,        IP
  ssh    ,          3 ,        IP

4.2 단계
이 사례 를 실현 하려 면 다음 과 같은 절차 에 따라 진행 해 야 한다.
STEP 1: 준비 작업
1) 계 정 이름 을 걸 러 내 는 데 실패 한 명령 (로그 인 로그 파일 은 / var / log / secure)
[root@svr5 ~]# awk '/Invalid user/{print $10}' /var/log/secure

2) 비밀번호 필터 실패 명령
[root@svr5 ~]# awk '/Failed password/{print $11}' /var/log/secure

단계 2: 참고 스 크 립 트 작성
1) 스 크 립 트 내용 은 다음 과 같 습 니 다.
[root@svr5 ~]# vim test.sh
#!/bin/bash
awk '/Failed password/{print $11}' /var/log/secure  | awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' | awk '$1>3{print $2}'
awk '/Invalid user/{print $10}' /var/log/secure  | awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' | awk '$1>3{print $2}'

5 사례 5: 스 크 립 트 5.1 문제 작성 진행
이 사례 는 스 크 립 트 를 작성 하고 프로 세 스 가 표시 하 는 복사 스 크 립 트 를 실현 하도록 요구 합 니 다. 구체 적 인 요 구 는 다음 과 같 습 니 다.
  Linux cp         
                
          ,          

5.2 단계
이 사례 를 실현 하려 면 다음 과 같은 절차 에 따라 진행 해 야 한다.
단계 1: 참고 스 크 립 트 작성
1) 스 크 립 트 내용 은 다음 과 같 습 니 다.
[root@svr5 ~]# vim test.sh
#!/bin/bash
jindu(){
while :
do
    echo -ne '\033[43m \033[0m'
        sleep 0.3
done
}
jindu &
cp -r  $1  $2
kill $!

좋은 웹페이지 즐겨찾기