腳本練習(xí)

1苔咪、

Expect腳本

#!/usr/bin/expect

spawn ssh root@192.168.31.158

expect {

"*(yes/no*" { send "yes\r";exp_continue? }

"*password:*" { send "root123\r";exp_continue? }

"*]#" { send "hostname -I\r" }

}

expect eof

SHELL腳本

#!/bin/bash

ip=$1

user=$2

password=$3

expect <<EOF

set timeout 10

spawn ssh $user@$ip

expect {

"yes/no" { send "yes\n";exp_continue }

"password" { send "$password\n" }

}

expect eof

EOF

2、

#!/bin/bash

#

declare -i min max

declare -a nums

for ((i=0;i<10;i++));do

? ? nums[$i]=$RANDOM

? ? [ $i -eq 0 ] && min=${nums[0]} && max=${nums[0]} && continue

? ? [ ${nums[$i]} -gt $max ] && max=${nums[$i]}

? ? [ ${nums[$i]} -lt $min ] && min=${nums[$i]}

done

echo "ALL numbers are ${nums[*]}"

echo Max is $max

echo Min is $min

3休涤、

#!/bin/bash

declare -a number

for (( i=0; i<20; i++ ));do

? number[$i]=$RANDOM

done

echo "before sort:"

echo ${number[@]}

declare -i n=20

for (( i=0; i<n-1; i++ ));do

? for (( j=0; j<n-1-i; j++ ));do

? ? let next=$j+1

? ? if (( ${number[$j]} < ${number[$next]} ));then

? ? ? tmp=${number[$next]}

? ? ? number[$next]=${number[$j]}

? ? ? number[$j]=$tmp

? ? fi

? done

done

4缩功、

linux下查看負(fù)載的主要命令有下面一些:

top盒刚, uptime掀淘,w砚亭,vmstat

1、top命令查看linux負(fù)載:

第一行解釋:

top - 01:18:39 up 2 days, 18:54, 1 user, load average: 0.04, 0.03, 0.05

01:18:39:系統(tǒng)當(dāng)前時(shí)間

up 2 days, 18:54 :系統(tǒng)開(kāi)機(jī)到現(xiàn)在經(jīng)過(guò)了2天

1 users:當(dāng)前1用戶在線

load average:0.04, 0.03, 0.05:系統(tǒng)1分鐘扣猫、5分鐘菜循、15分鐘的CPU負(fù)載信息.

備注:load average后面三個(gè)數(shù)值的含義是最近1分鐘、最近5分鐘申尤、最近15分鐘系統(tǒng)的負(fù)載值债朵。這個(gè)值的意義是,單位時(shí)間段內(nèi)CPU活動(dòng)進(jìn)程數(shù)瀑凝。如果你的機(jī)器為單核,那么只要這幾個(gè)值均<1臭杰,代表系統(tǒng)就沒(méi)有負(fù)載壓力粤咪,如果你的機(jī)器為N核,那么必須是這幾個(gè)值均<N才可認(rèn)為系統(tǒng)沒(méi)有負(fù)載壓力渴杆。

第二行解釋:

Tasks: 108 total, 1 running, 107 sleeping, 0 stopped, 0 zombie

108 total:當(dāng)前有108個(gè)任務(wù)

1 running:1個(gè)任務(wù)正在運(yùn)行

107 sleeping:107個(gè)進(jìn)程處于睡眠狀態(tài)

0 stopped:停止的進(jìn)程數(shù)

0 zombie:僵死的進(jìn)程數(shù)

第三行解釋:

%Cpu(s): 0.1 us, 0.2 sy, 0.2 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

0.1%us:用戶態(tài)進(jìn)程占用CPU時(shí)間百分比

0.2%sy:內(nèi)核占用CPU時(shí)間百分比

0.2%ni:renice值為負(fù)的任務(wù)的用戶態(tài)進(jìn)程的CPU時(shí)間百分比寥枝。nice是優(yōu)先級(jí)的意思

99.4%id:空閑CPU時(shí)間百分比

0.0%wa:等待I/O的CPU時(shí)間百分比

0.0%hi:CPU硬中斷時(shí)間百分比

0.0%si:CPU軟中斷時(shí)間百分比

第四行解釋:

KiB Mem : 3882172 total, 1079980 free, 1684652 used, 1117540 buff/cache

3882172 k total:物理內(nèi)存總數(shù)

1684652k used: 使用的物理內(nèi)存

1079980k free:空閑的物理內(nèi)存

1117540k cached:用作緩存的內(nèi)存

第五行解釋:

KiB Swap: 0 total, 0 free, 0 used. 1871412 avail Mem

0k total:交換空間的總量

0k used: 使用的交換空間

0k free:空閑的交換空間

1871412k cached:緩存的交換空間

最后一行:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

PID:進(jìn)程ID

USER:進(jìn)程的所有者

PR:進(jìn)程的優(yōu)先級(jí)

NI:nice值

VIRT:占用的虛擬內(nèi)存

RES:占用的物理內(nèi)存

SHR:使用的共享內(nèi)存

S:進(jìn)行狀態(tài) S:休眠 R運(yùn)行 Z僵尸進(jìn)程 N nice值為負(fù)

%CPU:占用的CPU

%MEM:占用內(nèi)存

TIME+: 占用CPU的時(shí)間的累加值

COMMAND:?jiǎn)?dòng)命令

2、uptime查看linux負(fù)載:

[root@elk-node01 logstash]# uptime

01:34:02up2days,19:09,1user,? load average:0.06,0.06,0.06

參考top命令的第一行解釋

3磁奖、w查看linux負(fù)載:

[root@elk-node01 logstash]# w

01:34:58up2days,19:10,1user,? load average:0.07,0.06,0.06

USERTTYFROMLOGIN@? IDLE? JCPU? PCPU WHAT

centos? pts/4192.168.60.107Tue072.00s0.09s0.14s sshd: centos [priv]

第一行參考top命名的第一行解釋

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT解釋如下:

USER —登錄的用戶名

TTY —登錄后系統(tǒng)分配的終端號(hào)

FROM—遠(yuǎn)程主機(jī)名囊拜,即從哪兒登錄來(lái)的

LOGIN@—何時(shí)登錄

IDLE—空閑了多長(zhǎng)時(shí)間,表示用戶閑置的時(shí)間比搭。這是一個(gè)計(jì)時(shí)器冠跷,一旦用戶執(zhí)行任何操作,該計(jì)時(shí)器便會(huì)被重置

JCPU—和該終端(tty)連接的所有進(jìn)程占用的時(shí)間身诺,這個(gè)時(shí)間里并不包括過(guò)去的后臺(tái)作業(yè)時(shí)間蜜托,但卻包括當(dāng)前正在運(yùn)行的后臺(tái)作業(yè)所占用的時(shí)間

PCPU—指當(dāng)前進(jìn)程(即在WHAT項(xiàng)中顯示的進(jìn)程)所占用的時(shí)間

WHAT—當(dāng)前正在運(yùn)行進(jìn)程的命令行

4、vmstat查看linux負(fù)載

[root@elk-node01 logstash]# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r? b? swpd? free? buff? cache? si? so? ? bi? ? bo? in? cs us sy id wa st

1001080064888111671200023149109900

r 表示運(yùn)行隊(duì)列(就是說(shuō)多少個(gè)進(jìn)程真的分配到CPU)霉赡,當(dāng)這個(gè)值超過(guò)了CPU數(shù)目橄务,就會(huì)出現(xiàn)CPU瓶頸。這個(gè)也和top的負(fù)載有關(guān)系穴亏,一般負(fù)載超過(guò)了3就比較高蜂挪,超過(guò)了5就高重挑,超過(guò)了10就不正常了,服務(wù)器的狀態(tài)很危險(xiǎn)棠涮。top的負(fù)載類似每秒的運(yùn)行隊(duì)列谬哀。如果運(yùn)行隊(duì)列過(guò)大,表示你的CPU很繁忙故爵,一般會(huì)造成CPU使用率很高玻粪。

b 表示阻塞的進(jìn)程,這個(gè)不多說(shuō),進(jìn)程阻塞诬垂,大家懂的劲室。

swpd 虛擬內(nèi)存已使用的大小,如果大于0结窘,表示你的機(jī)器物理內(nèi)存不足了很洋,如果不是程序內(nèi)存泄露的原因,那么你該升級(jí)內(nèi)存了或者把耗內(nèi)存的任務(wù)遷移到其他機(jī)器隧枫。

free 空閑的物理內(nèi)存的大小喉磁,我的機(jī)器內(nèi)存總共8G,剩余3415M官脓。

buff Linux/Unix系統(tǒng)是用來(lái)存儲(chǔ)协怒,目錄里面有什么內(nèi)容,權(quán)限等的緩存卑笨,我本機(jī)大概占用300多M

cache cache直接用來(lái)記憶我們打開(kāi)的文件,給文件做緩沖孕暇,(這里是Linux/Unix的聰明之處,把空閑的物理內(nèi)存的一部分拿來(lái)做文件和目錄的緩存赤兴,是為了提高 程序執(zhí)行的性能妖滔,當(dāng)程序使用內(nèi)存時(shí),buffer/cached會(huì)很快地被使用桶良。)

si 每秒從磁盤讀入虛擬內(nèi)存的大小座舍,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了陨帆,要查找耗內(nèi)存進(jìn)程解決掉曲秉。我的機(jī)器內(nèi)存充裕,一切正常歧譬。

so 每秒虛擬內(nèi)存寫(xiě)入磁盤的大小岸浑,如果這個(gè)值大于0,同上瑰步。

bi 塊設(shè)備每秒接收的塊數(shù)量矢洲,這里的塊設(shè)備是指系統(tǒng)上所有的磁盤和其他塊設(shè)備,默認(rèn)塊大小是1024byte缩焦。

bo 塊設(shè)備每秒發(fā)送的塊數(shù)量读虏,例如我們讀取文件责静,bo就要大于0。bi和bo一般都要接近0盖桥,不然就是IO過(guò)于頻繁灾螃,需要調(diào)整。

in 每秒CPU的中斷次數(shù)揩徊,包括時(shí)間中斷

cs 每秒上下文切換次數(shù)腰鬼,例如我們調(diào)用系統(tǒng)函數(shù),就要進(jìn)行上下文切換塑荒,線程的切換熄赡,也要進(jìn)程上下文切換,這個(gè)值要越小越好齿税,太大了彼硫,要考慮調(diào)低線程或者進(jìn)程的數(shù)目,例如在apache和nginx這種web服務(wù)器中,我們一般做性能測(cè)試時(shí)會(huì)進(jìn)行幾千并發(fā)甚至幾萬(wàn)并發(fā)的測(cè)試凌箕,選擇web服務(wù)器的進(jìn)程可以由進(jìn)程或者線程的峰值一直下調(diào)拧篮,壓測(cè),直到cs到一個(gè)比較小的值牵舱,這個(gè)進(jìn)程和線程數(shù)就是比較合適的值了串绩。系統(tǒng)調(diào)用也是,每次調(diào)用系統(tǒng)函數(shù)芜壁,我們的代碼就會(huì)進(jìn)入內(nèi)核空間赏参,導(dǎo)致上下文切換,這個(gè)是很耗資源沿盅,也要盡量避免頻繁調(diào)用系統(tǒng)函數(shù)。上下文切換次數(shù)過(guò)多表示你的CPU大部分浪費(fèi)在上下文切換纫溃,導(dǎo)致CPU干正經(jīng)事的時(shí)間少了腰涧,CPU沒(méi)有充分利用,是不可取的紊浩。

us 用戶CPU時(shí)間窖铡,我曾經(jīng)在一個(gè)做加密解密很頻繁的服務(wù)器上,可以看到us接近100,r運(yùn)行隊(duì)列達(dá)到80(機(jī)器在做壓力測(cè)試坊谁,性能表現(xiàn)不佳)费彼。

sy 系統(tǒng)CPU時(shí)間,如果太高口芍,表示系統(tǒng)調(diào)用時(shí)間長(zhǎng)箍铲,例如是IO操作頻繁。

id 空閑 CPU時(shí)間鬓椭,一般來(lái)說(shuō)颠猴,id + us + sy = 100,一般認(rèn)為id是空閑CPU使用率关划,us是用戶CPU使用率,sy是系統(tǒng)CPU使用率翘瓮。

wt 等待IO CPU時(shí)間贮折。

5、其他一些操作

cat /proc/cpuinfo :即可查看CPU信息资盅,幾個(gè)processor即為幾個(gè)CPU调榄;

sar:可以監(jiān)控系統(tǒng)所有資源狀態(tài),sar -n DEV查網(wǎng)卡流量歷史呵扛、sar -q 查看歷史負(fù)載每庆,最有用的就是查網(wǎng)卡流量,流量過(guò)大:rxpck/s大于4000,或者rxKB/s大于5000择份,則很有可能被攻擊了扣孟,需要抓包分析;

free:查看當(dāng)前系統(tǒng)的總內(nèi)存大小以及使用內(nèi)存的情況荣赶;查看內(nèi)存使用還可以使用cat /proc/meminfo

ps:查看進(jìn)程凤价,ps aux 或者 ps -elf,常和管道符一起使用拔创,查看某個(gè)進(jìn)程或者它的數(shù)量利诺;

netstat:查看端口,netstat -lnp用于打印當(dāng)前系統(tǒng)啟動(dòng)了哪些端口剩燥,netstat -an用于打印網(wǎng)絡(luò)連接狀況慢逾;

tcpdump:抓包工具分析數(shù)據(jù)包,知道有哪些IP在攻擊灭红;可以將內(nèi)容寫(xiě)入指定文件1.cap中侣滩,顯示包的內(nèi)容,不加-w屏幕上顯示數(shù)據(jù)流向变擒;

wireshark:抓包工具君珠,可以臨時(shí)用該命令查看當(dāng)前服務(wù)器上的web請(qǐng)求



5、

#!/bin/bash

#

#******************************************************

#Author: haha

#QQ: 906195954

#Date: 2021-07-01

#FileName: /data/scripts/ip_scan_for.sh

#URL: https://www.csdn.net

#Description: The test script

#Copyright (C): 2021 All rights reserved

#******************************************

NET=10.0.0

for ID in {1..254};do

{

ping -c1 -w1 $NET.$ID &> /dev/null && echo $NET.$ID is success! || echo $NET.$ID is faild!

}&

done

wait

&?

#并發(fā)執(zhí)行娇斑,&符號(hào):加上&之后策添,命令被放入后臺(tái),這時(shí)候for循環(huán)不會(huì)再等這個(gè)子進(jìn)程毫缆,而是直接進(jìn)入下一個(gè)循環(huán)



6唯竹、

#!/bin/bash

#

#******************************************************

#Author: haha

#QQ: 906195954

#Date: 2021-07-01

#FileName: etc_backup.sh

#URL: https://www.csdn.net

#Description: The test script

#Copyright (C): 2021 All rights reserved

#******************************************

#將/etc備份至/backup目錄中,保存的文件名稱格式 為"etcbak-yyyy-mm-dd-HH.tar.xz",其中日期是前一天的時(shí)間

[ -d/backup ] || mkdir /backup

tar cJvfP /backup/etcbak-`date -d "-1day" +%F_%T`.tar.xz? /etc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苦丁,一起剝皮案震驚了整個(gè)濱河市浸颓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖猾愿,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹦聪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蒂秘,警方通過(guò)查閱死者的電腦和手機(jī)泽本,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)姻僧,“玉大人规丽,你說(shuō)我怎么就攤上這事∑埠兀” “怎么了赌莺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)松嘶。 經(jīng)常有香客問(wèn)我艘狭,道長(zhǎng),這世上最難降的妖魔是什么翠订? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任巢音,我火速辦了婚禮,結(jié)果婚禮上尽超,老公的妹妹穿的比我還像新娘官撼。我一直安慰自己,他們只是感情好似谁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布傲绣。 她就那樣靜靜地躺著,像睡著了一般巩踏。 火紅的嫁衣襯著肌膚如雪秃诵。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天塞琼,我揣著相機(jī)與錄音顷链,去河邊找鬼。 笑死屈梁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的榛了。 我是一名探鬼主播在讶,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼霜大!你這毒婦竟也來(lái)了构哺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎曙强,沒(méi)想到半個(gè)月后残拐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碟嘴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年溪食,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娜扇。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡错沃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雀瓢,到底是詐尸還是另有隱情枢析,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布刃麸,位于F島的核電站醒叁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泊业。R本人自食惡果不足惜把沼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脱吱。 院中可真熱鬧智政,春花似錦、人聲如沸箱蝠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宦搬。三九已至牙瓢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間间校,已是汗流浹背矾克。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憔足,地道東北人胁附。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像滓彰,于是被迫代替她去往敵國(guó)和親控妻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1揭绑、編寫(xiě)shell腳本弓候,計(jì)算1~100的和郎哭。 2、編寫(xiě)shell腳本菇存,輸入一個(gè)數(shù)字n并計(jì)算1~n的和夸研。 3、寫(xiě)一個(gè)...
    夕顏00閱讀 1,028評(píng)論 0 0
  • 1关筒、列舉常見(jiàn)的內(nèi)核參數(shù)以及參數(shù)的意義 2溶握、如何通過(guò)/proc查看top中展示的進(jìn)程狀態(tài) top命令參數(shù)及意義: 3...
    Journey_8685閱讀 501評(píng)論 0 0
  • 【腳本1】打印形狀 打印等腰三角形、直角三角形蒸播、倒直角三角形睡榆、菱形 【腳本2】截取字符串 現(xiàn)有一個(gè)字符串如下: h...
    學(xué)無(wú)止境_9b65閱讀 457評(píng)論 0 1
  • Python 批量遍歷目錄文件,并修改訪問(wèn)時(shí)間 path="D:/UASM64/include/"dirs = o...
    SkTj閱讀 7,346評(píng)論 0 7
  • 本文用于記錄學(xué)習(xí)和日常中使用過(guò)的shell腳本 【腳本1】打印形狀 打印等腰三角形、直角三角形袍榆、倒直角三角形胀屿、菱形...
    zwb_jianshu閱讀 5,527評(píng)論 1 5