0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

5個shell腳本實例分享

jf_TEuU2tls ? 來源:浩道linux ? 2022-12-29 15:34 ? 次閱讀

前言

大家好,這里是浩道linux,主要給大家分享linux、python、網(wǎng)絡(luò)通信相關(guān)的IT知識平臺。

今天浩道跟大家分享這兩天對實習(xí)生階段考核時給他布置的5道shell腳本題目,雖然花了兩天時間調(diào)試完成,但是質(zhì)量還是不錯的,決定加雞腿,順便分享給大家看看!

1、檢測兩臺服務(wù)器指定目錄下的文件一致性

#!/bin/bash
######################################
檢測兩臺服務(wù)器指定目錄下的文件一致性
#####################################
#通過對比兩臺服務(wù)器上文件的md5值,達到檢測一致性的目的
dir=/data/web
b_ip=192.168.88.10
#將指定目錄下的文件全部遍歷出來并作為md5sum命令的參數(shù),進而得到所有文件的md5值,并寫入到指定文件中
finddir-typef|xargsmd5sum>/tmp/md5_a.txt
sshb_ip"finddir-typef|xargsmd5sum>/tmp/md5_b.txt"
scpb_ip:/tmp/md5_b.txt/tmp
#將文件名作為遍歷對象進行一一比對
forfin`awk'{print2}/tmp/md5_a.txt'`do
#以a機器為標(biāo)準(zhǔn),當(dāng)b機器不存在遍歷對象中的文件時直接輸出不存在的結(jié)果
ifgrep-qw"f"/tmp/md5_b.txt
then
md5_a=`grep-w"f"/tmp/md5_a.txt|awk'{print1}'`
md5_b=`grep-w"f"/tmp/md5_b.txt|awk'{print1}'`
#當(dāng)文件存在時,如果md5值不一致則輸出文件改變的結(jié)果
if[md5_a!=md5_b]then
echo"fchanged."
fi
else
echo"$fdeleted."
fi
done

2、定時清空文件內(nèi)容,定時記錄文件大小

#!/bin/bash
#################################################################
每小時執(zhí)行一次腳本(任務(wù)計劃),當(dāng)時間為0點或12點時,將目標(biāo)目錄下的所有文件內(nèi)#容清空,但不刪除文件,其他時間則只統(tǒng)計各個文件的大小,一個文件一行,輸出到以時#間和日期命名的文件中,需要考慮目標(biāo)目錄下二級、三級等子目錄的文件
################################################################
logfile=/tmp/`date+%H-%F`.log
n=`date+%H`
if[n-eq00]||[n-eq12]
then
#通過for循環(huán),以find命令作為遍歷條件,將目標(biāo)目錄下的所有文件進行遍歷并做相應(yīng)操作
foriin`find/data/log/-typef`
do
true>i
done
else
foriin`find/data/log/-typef`
do
du-shi>>$logfile
done
fi

3、檢測網(wǎng)卡流量,并按規(guī)定格式記錄在日志中

#!/bin/bash
#######################################################
#檢測網(wǎng)卡流量,并按規(guī)定格式記錄在日志中#規(guī)定一分鐘記錄一次
#日志格式如下所示:
#2019-08-1220:40
#ens33input:1234bps
#ens33output:1235bps
######################################################3
while:
do
#設(shè)置語言為英文,保障輸出結(jié)果是英文,否則會出現(xiàn)bug
LANG=en
logfile=/tmp/`date+%d`.log
#將下面執(zhí)行的命令結(jié)果輸出重定向到logfile日志中
exec>>$logfile
date+"%F%H:%M"
#sar命令統(tǒng)計的流量單位為kb/s,日志格式為bps,因此要*1000*8
sar-nDEV159|grepAverage|grepens33|awk'{print$2,"	","input:","	",$5*1000*8,"bps","
",$2,"	","output:","	",$6*1000*8,"bps"}'
echo"####################"
#因為執(zhí)行sar命令需要59秒,因此不需要sleep
done

4、計算文檔每行出現(xiàn)的數(shù)字個數(shù),并計算整個文檔的數(shù)字總數(shù)

#!/bin/bash
#########################################################
#計算文檔每行出現(xiàn)的數(shù)字個數(shù),并計算整個文檔的數(shù)字總數(shù)
########################################################
#使用awk只輸出文檔行數(shù)(截取第一段)
n=`wc-la.txt|awk'{print$1}'`
sum=0
#文檔中每一行可能存在空格,因此不能直接用文檔內(nèi)容進行遍歷
foriin`seq1$n`do
#輸出的行用變量表示時,需要用雙引號
line=`sed-n"$i"pa.txt`#wc-L選項,統(tǒng)計最長行的長度
n_n=`echo$line|seds'/[^0-9]//'g|wc-L`
echo$n_nsum=$[$sum+$n_n]
done
echo"sum:$sum"
殺死所有腳本

#!/bin/bash
################################################################
#有一些腳本加入到了cron之中,存在腳本尚未運行完畢又有新任務(wù)需要執(zhí)行的情況,
#導(dǎo)致系統(tǒng)負(fù)載升高,因此可通過編寫腳本,篩選出影響負(fù)載的進程一次性全部殺死。
################################################################
psaux|grep指定進程名|grep-vgrep|awk'{print$2}'|xargskill-9

5、從 FTP 服務(wù)器下載文件

#!/bin/bash
if[$#-ne1];then
echo"Usage:$0filename"
fi
dir=$(dirname$1)
file=$(basename$1)
ftp-n-v<

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207894
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8700

    瀏覽量

    84531
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    359

    瀏覽量

    23192
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    382

    瀏覽量

    14760

原文標(biāo)題:看一看!實習(xí)生兩天時間寫出的5個shell腳本?。?!

文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    shell腳本進階】幾個常用的shell進階腳本

    shell腳本進階】幾個常用的shell進階腳本
    的頭像 發(fā)表于 09-19 08:59 ?1724次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進階】幾個常用的<b class='flag-5'>shell</b>進階<b class='flag-5'>腳本</b>

    linux shell腳本分享

    今天浩道跟大家分享shell腳本硬核干貨,可以說是拿來即用序列!
    發(fā)表于 02-17 09:13 ?364次閱讀

    Linux Shell腳本入門到實戰(zhàn)詳解

    Linux Shell腳本入門到實戰(zhàn)詳解
    發(fā)表于 02-17 15:03 ?572次閱讀

    Linux shell腳本分享

    今天浩道跟大家分享幾個Linux運維中常用到的shell腳本
    發(fā)表于 07-18 09:53 ?521次閱讀
    Linux <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>分享

    100Linux Shell腳本總結(jié)

    不知道大家有沒有發(fā)現(xiàn),會編寫shell腳本的運維,工資不會低,并且他的工作會很輕松!今天浩道跟大家分享每一Linux運維應(yīng)知必會的100shel
    的頭像 發(fā)表于 12-05 09:28 ?942次閱讀

    嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費下載

    本文檔的主要內(nèi)容詳細技術(shù)的是嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費下載。
    發(fā)表于 09-11 17:15 ?20次下載
    嵌入式和物聯(lián)網(wǎng)的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學(xué)習(xí)指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門免費下載

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對一純文本的文件進行解析,然后執(zhí)行這些功能,也可以說Shell
    的頭像 發(fā)表于 10-16 11:27 ?4592次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    如何創(chuàng)建和執(zhí)行一簡單的Linux shell腳本

     如果您愿意要嘗試更長的shell腳本,請將下面的shell腳本(并附加為PDF和ODT文件)復(fù)制到文本編輯器中,保存,使其可執(zhí)行并運行。當(dāng)您了解更多Linux命令時,您可以創(chuàng)建更復(fù)雜
    的頭像 發(fā)表于 11-06 17:28 ?1.3w次閱讀

    109實用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對一純文本的文件進行解析,然后執(zhí)行這些功能,也可以說Shell
    的頭像 發(fā)表于 03-16 08:58 ?2481次閱讀

    100Shell腳本經(jīng)典案例解析

    今天浩道跟大家分享100Linux Shell腳本經(jīng)典案例,讓你一次擼夠。
    的頭像 發(fā)表于 02-10 13:51 ?2322次閱讀

    shell腳本基礎(chǔ)知識匯總4

    Shell 編程跟 JavaScript、php 編程一樣,只要有一能編寫代碼的文本編輯器和一能解釋執(zhí)行的腳本解釋器就可以了。 Linux 的
    的頭像 發(fā)表于 02-15 10:49 ?594次閱讀

    shell腳本基礎(chǔ)知識

    shell腳本是一文件,里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器翻譯或解析指令并執(zhí)行(無需編譯),shell
    的頭像 發(fā)表于 04-17 15:00 ?963次閱讀

    Linux Shell腳本經(jīng)典案例分享

    ? 作為一名 Linux 運維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網(wǎng)上沖浪的時候,發(fā)現(xiàn)大家對Shell腳本都有“心結(jié)”,要么覺得自己寫出來不好看,要么根本無從下手。 下面分享249
    發(fā)表于 06-16 14:03 ?588次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享

    分享249拿來即用的shell腳本

    ? 由于腳本案例太多,在此僅展示部分,完整版領(lǐng)取方式請見文末 ? ? ? 249拿來即用的shell腳本! ? 這249
    的頭像 發(fā)表于 07-07 10:52 ?1041次閱讀
    分享249<b class='flag-5'>個</b>拿來即用的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語法錯誤,給出建議增強腳本健壯性。
    的頭像 發(fā)表于 12-27 13:43 ?1596次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>檢查工具ShellCheck介紹