알람 메모리 사용

전체 텍스트는 다섯 개의 장으로 나누어 져 있습니다 :

  • 이 스크립트 및 예방 조치의 효과

  • 스크립트, 텍스트와 사진 판 버전의 내용은 (그것이 작동하기 편리 할 때 직접 생산 환경에 복사)

  • 스크립트의 결과의 구현

  • 스크립트 내용 설명

  • 추상 요약

역할 : 메모리 사용량이 가능한 한 빨리 그 뿌리를 제안, 80 %에 도달 할 때이 스크립트를 사용하여 루트 사서함에 경고 메시지를 보내는 것입니다.

혼자 스크립트가 분명하지 않을 때, 그리고 놀라운 효과 정규 직업을 가지고해야합니다!

스크립트 내용 (CRT) :

#! / 빈 / bash는 
#When 메모리를 사용하여 80 %의 알람 
# 저자 : zhanghe QQ : 746620446 버전 : 0.1 
USED = $ (무료 -m | | 2P -n 나오지 AWK는 '{$ 3 인쇄}') 
TOTAL = $ (무료 - | 2P -n 나오지 | m은 AWK)은 '{$ 2 인쇄} 
[$ USED * 100 / $ TOTAL] USED_Percent = $ 
다음 [$ USED_Percent -ge 3] 만약 
 "에코 $ (날짜 + % F- % H- % M) 현재 메모리 사용 $의 USED_Percent %의, 그것은 시간 "에서 처리하십시오 | 메일 -s "MEM_alarm"루트 
Fi를

[루트 @의 linuxprobe ~] # 용의 crontab -e

분당 한 번 * / 1 * * * * /root/scripts/1.sh 번호

결과의 스크립트 실행 :

의 image.png

스크립트 (CRT)의 ​​내용을 설명합니다 :

 
[루트 @의 linuxprobe 스크립트] # 개의 MEM-arm.sh -n CAT 
     1 # / 빈 / bash는! 
     2 #when 사용 메모리 80 % 경보 
     3 # 저자 : zhanghe QQ : 746 620 446 버전 : 0.1 
     4 무료 -m으로 (= $ USED | SED -n 2P | AWK '{인쇄 ) #을 $ 3}' 메모리가 현재 M을 제거 얼마나 많은 
     총 5 = $ (무료 -m |. -n Sed의 2P | AWK '{} $ 2 인쇄') 촬영 총 메모리 # 
     6 USED_Percent = $ [$는 * 100 / 사용 # $ 총] 의 비율을 제공하기 위해 총량으로 나누어 100을 곱한 값을 
     [$ USED_Percent가 80 -ge] 경우 7 다음, # 80이 초과 될 때의 양의 비율 
     $ (날짜 + % "8 에코 H- % M % F-) 현재 메모리 사용 $의 USED_Percent %를 IT 시간에 처리하세요 "| 메일 -s"MEM_alarm "루트 
     9 Fi를

아이디어 :

이 스크립트의 아이디어 꺼낸 비율의 현재 내용을 모두 사용 첫째, 매우 간단하고, 메모리 사용량을 초과하지 않을 경우 다음, 아무것도 루트 메일 팁을주지, 80 % 이상이면 또한 다음의 80 %와 비교를 하지 않습니다.

난이도 :

첫 번째 어려움은 현재 메모리 사용률,이 비율은 직접 그들의 자유 명령에 나타나지 않습니다를 제거하는 것입니다하지만 우리가 계산 될 필요가 수식 어려운 일이 아니다, 지출 된 총으로 나눈 메모리를 사용하는 것입니다 내용이 다음 학생들이 1 개 디스플레이보다 적은없는 리눅스 가치있는 수행하지만,하지만,하지만 것으로, 100을 곱한 수 있습니다, 그것은 미만은 0이 표시하고 치아 오 아오는 현재 사용중인 우리는 사용 때 RAM 메모리의 전체 양으로 나눈 후, 0으로 표시되는 1 리눅스 미만 미만이고, 0 100을 곱한, 또는 0이되므로 그 결과가 우리가 0의 느낌을 얻을 수 없다는 점이다, 그 해결 방법? 또한 그것을 해결하는 것은 매우 간단합니다! 이것은 우리가를 사용, 결과는 동일하다 "는이 두 가지로 나눈 다음 세 가지를 곱한와" "두 곱 하나의 3을 곱한"와, (그것이 얼마나 중요한이 기본 지식부터) 학생들의 주제 누가 다음 첫 번째 데이터가 1보다 더 적은 없습니다 얻을, 그래서 리눅스가 제대로 식별 할 수 있습니다, 6 행에 생성됩니다 잘이 문제를 해결했다.

두 번째 어려움은 시험 조건이며, 숫자 형식은 형식 문제는, 우리가, 세 가지 방법이 더 멋진, 즉 테스트, 하나의 브라켓, 대괄호, 일반적으로 우리는 세 가지 방법이 있습니다 받아쓰기, 조건 결정을 살펴 보자 괄호 공간의 이유뿐만 아니라 말을 사람들을 위해, 공간이 있어야합니다 작은 따옴표, 중 괄호 안에 단일 또는 이중 브라켓을 사용하는 습관! 리눅스 커맨드 라인 형식은 다음 명령 [옵션] [파라미터, 서로의 공간으로 구분하고, 전반 부분은 브래킷되는 명령! 당신은 믿지 않는다? 여기 증거는 다음과

[루트 @의 linuxprobe ~] [-a 유형의 # 
[는 쉘 내장은 
[는 / usr / 빈 / [ 
[루트 @의 linuxprobe ~] [[-a 유형의 # 
[키워드 쉘입니다 

조건에 대해 얘기, 그럼 집에 가까이 시험 세 가지 용도 : 

[루트 @의 linuxprobe ~] 시험 한 비교적 작은 이용하여 간단하고 미정 제 시험 -gt # # 9 
[루트 @의 linuxprobe를 ~] # 메아리 $? 
1 
[루트 @의 linuxprobe ~] #에 [9 -gt 8] # 두번째 싱글 브라켓, 가장 많이 사용되는 
배쉬 : [9 : 명령을 찾을 수 없습니다 ... #의 모습! 양쪽에 공백이되지 않습니다 
[루트 @의 linuxprobe가 ~] # [9 -gt 8] 
[루트 @의 linuxprobe ~] #는 에코 $? 
0 
[루트 @의 linuxprobe ~] # [[-e / etc / passwd에]] # 세 번째 또한 메르세데스 벤츠! 
배쉬 : [[-e :하지 명령 발견 ... # 당신이 보는이, 양쪽에 공간이되지 않습니다! 
[루트 @의 linuxprobe ~] # [[-e / etc / passwd에] 
[루트 @의 linuxprobe ~] #은 $? 에코 
0

,의 모양 수치 계산 형식을 보자 :

조건은 하나, 둘이, 진심으로 브래킷을 테스트하지만, 수치 계산이 Jiaotaliangzhichuan 동안 또한, 자신의 거리를 유지! 브라켓, 괄호 한 쌍과 $ 기호로 시작, 끝이 수치입니다! !

데이터 연산이 포맷, 즉 송출 다양한 있는데, $ [], $ (())

[루트 @의 linuxprobe ~] # A를 = 2 # 와 $ $ 전혀 차이가없는 첫 번째 방법 
[루트 @의 linuxprobe ~] #에 B = 3 # 간단하고 미정이지만, 그러나 약간있다 
[루트 @의 linuxprobe을 ~] 중 # O = $ A + $ B하자 
[루트 @의 linuxprobe ~] # 에코 $ O 
. 5 
[루트 @의 linuxprobe ~] # 송출 된 P = A + B + A 
[루트 @의 linuxprobe ~] # 에코 $ P 
. 7 
~ [루트 @의 linuxprobe 차이없이 그리고 $없이 = 3 # $ 번째 방법] # a를 
루트 @ linuxprobe [~] #. 4 B는 = 
[루트 linuxprobe @ ~]을 # $의 D = ((A + $ B 형 $)) # 브래킷 $와 
[루트 @ linuxprobe ~]을 # $의 D 에코 
. 7 
없이 D = # $으로 ((AB &))을 # $ 브래킷과 통상 사용 [루트 @ ~ linuxprobe] 
# 에코 $의 D [루트 @ ~ linuxprobe] 
-1 
[ 루트 @의 linuxprobe ~] = # a를 2 # 괄호는 괄호가 또는 $하지 않고, 동일 
[루트 @의 linuxprobe ~] # 개의 B = 3 # 이 스크립트는이 방법 일단 인상이 나쁘지 않다 "선심 쓰는 척!" 
[루트 @의 linuxprobe ~] # C = $ [$ A + $으로의 B]
[루트 @의 linuxprobe ~] # 에코 $의 C 
[루트 @의 linuxprobe ~] # $ C = [A + B] 
[루트 @의 linuxprobe ~] # 에코 $ C를 
5

초록 요약 :

먼저 시험 조건, 시험 조건 요청이 괄호 안에 간단하고, 충성 만 애착이 있다는 것입니다! 테스트, 단일 브래킷, 소괄호,주의해야 할 유일한 장소는 양측이 공간을 가지고있다.

데이터가 계산 Jiaotaliangzhichuan, 하나의 브라켓 될 것입니다 이중 괄호 겠지만, 다행히도 중 하나를 할 수있다 장점, 하나의 브라켓이없는 것은 아니다, 수치 비스 괄호 그들은 괄호에 $ 기호를 가질 수있는 동등하게 취급, 또는하지 않을 수 있지만, $ 이외의 브래킷이 있어야한다.

추천

출처www.cnblogs.com/yizhangheka/p/11038973.html