免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

這些 Linux 腳本很有用,趕緊收藏起來(lái)!

:2024年03月24日 Linux265
分享到:

這些 Linux 腳本很有用,趕緊收藏起來(lái)!Linux 腳本?準(zhǔn)確的說(shuō)叫 Linux Shell 腳本,Shell 腳本是一種被設(shè)計(jì)用來(lái)運(yùn)行命令行解釋器,他是 Linux 系統(tǒng)的一大特色之一。命令行是 Linux 系統(tǒng)中一種非常重要的...

640.jpeg

這些 Linux 腳本很有用,趕緊收藏起來(lái)!

Linux 腳本?準(zhǔn)確的說(shuō)叫 Linux Shell 腳本,Shell 腳本是一種被設(shè)計(jì)用來(lái)運(yùn)行命令行解釋器,他是 Linux 系統(tǒng)的一大特色之一。

命令行是 Linux 系統(tǒng)中一種非常重要的交互方式,而它的實(shí)現(xiàn)基于 Linux 內(nèi)核和 Shell 程序,為用戶提供了強(qiáng)大和靈活的操作方式。

使用 Linux 系統(tǒng)會(huì)點(diǎn) Linux 腳本非常有用,它可以讓你的工作即輕松又高效!

下面是收集整理的部分 Linux 腳本,歡迎收藏!

1、列出排名前10的內(nèi)存占用進(jìn)程

ps aux | sort -rk 4,4 | head -n 10

2、iptables 自動(dòng)屏蔽訪問(wèn)網(wǎng)站頻繁的IP

使用場(chǎng)景:針對(duì)惡意訪問(wèn)網(wǎng)站情況

根據(jù)訪問(wèn)日志(以 nginx 的 logs 中記錄訪問(wèn)的 access.log 日志文件為例,檢測(cè)短期訪問(wèn)大于100的IP,并使用iptables命令進(jìn)行屏蔽,同時(shí)將禁用的IP放到/tmp/deny_ip.log文件中)

#!/bin/bash

DATE=$(date +%d/%b/%Y:%H:%M)

LOG_FILE=/usr/local/nginx/logs/demo2.access.log

ABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>100)print i}')

for IP in $ABNORMAL_IP; do

    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then

        iptables -I INPUT -s $IP -j DROP

        echo "$(date +'%F_%T') $IP" >> /tmp/deny_ip.log

    fi

don

3、自動(dòng)發(fā)布 Java 項(xiàng)目(Tomcat)

#!/bin/bash

DATE=$(date +%F_%T)

TOMCAT_NAME=$1

TOMCAT_DIR=/usr/local/$TOMCAT_NAME

ROOT=$TOMCAT_DIR/webapps/ROOT

BACKUP_DIR=/data/backup

WORK_DIR=/tmp

PROJECT_NAME=tomcat-java-demo

# 拉取代碼

cd $WORK_DIR

if [ ! -d $PROJECT_NAME ]; then

   git clone https://github.com/xxxx/tomcat-java-demo

   cd $PROJECT_NAME

else

   cd $PROJECT_NAME

   git pull

fi

# 構(gòu)建

mvn clean package -Dmaven.test.skip=true

if [ $? -ne 0 ]; then

   echo "maven build failure!"

   exit 1

fi

# 部署

TOMCAT_PID=$(ps -ef |grep "$TOMCAT_NAME" |egrep -v "grep|$$" |awk 'NR==1{print $2}')

[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID

[ -d $ROOT ] && mv $ROOT $BACKUP_DIR/${TOMCAT_NAME}_ROOT$DATE

unzip $WORK_DIR/$PROJECT_NAME/target/*.war -d $ROOT

$TOMCAT_DIR/bin/startup.sh

4、Nginx 訪問(wèn)日志分析腳本

#!/bin/bash

# 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"

LOG_FILE=$1

echo "統(tǒng)計(jì)訪問(wèn)最多的10個(gè)IP"

awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr |head -10

echo "----------------------"

echo "統(tǒng)計(jì)時(shí)間段訪問(wèn)最多的IP"

awk '$4>="[01/Dec/2018:13:20:25" && $4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10

echo "----------------------"

echo "統(tǒng)計(jì)訪問(wèn)最多的10個(gè)頁(yè)面"

awk '{a[$7]++}END{print "PV:",length(a);for(v in a){if(a[v]>10)print v,a[v]}}' $LOG_FILE |sort -k2 -nr

echo "----------------------"

echo "統(tǒng)計(jì)訪問(wèn)頁(yè)面狀態(tài)碼數(shù)量"

awk '{a[$7" "$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}'

5、查看網(wǎng)卡實(shí)時(shí)流量腳本

#!/bin/bash

NIC=$1

echo -e " In ------ Out"

while true; do

    OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)

    OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)

    sleep 1

    NEW_IN=$(awk  '$0~"'$NIC'"{print $2}' /proc/net/dev)

    NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)

    IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s")

    OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s")

    echo "$IN $OUT"

    sleep 1

done

6、批量檢測(cè)網(wǎng)站是否異常并郵件通知

#!/bin/bash  

URL_LIST="www.baidu.com www.ctnrs.com www.der-matech.net.cn www.der-matech.com.cn www.der-matech.cn www.der-matech.top www.der-matech.org"

for URL in $URL_LIST; do

    FAIL_COUNT=0

    for ((i=1;i<=3;i++)); do

        HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $URL)

        if [ $HTTP_CODE -eq 200 ]; then

            echo "$URL OK"

            break

        else

            echo "$URL retry $FAIL_COUNT"

            let FAIL_COUNT++

        fi

    done

    if [ $FAIL_COUNT -eq 3 ]; then

        echo "Warning: $URL Access failure!"

  echo "網(wǎng)站$URL壞掉,請(qǐng)及時(shí)處理" | mail -s "$URL網(wǎng)站高危" xxxxx@163.com

    fi

done

7、目錄入侵檢測(cè)與告警

#!/bin/bash

MON_DIR=/opt

inotifywait -mqr --format %f -e create $MON_DIR |\

while read files; do

   #同步文件

   rsync -avz /opt /tmp/opt

  #檢測(cè)文件是否被修改

   #echo "$(date +'%F %T') create $files" | mail -s "dir monitor" xxx@163.com

done

8、一鍵查看服務(wù)器利用率

#!/bin/bash

function cpu(){

 util=$(vmstat | awk '{if(NR==3)print $13+$14}')

 iowait=$(vmstat | awk '{if(NR==3)print $16}')

 echo "CPU -使用率:${util}% ,等待磁盤IO相應(yīng)使用率:${iowait}:${iowait}%"

}

function memory (){

 total=`free -m |awk '{if(NR==2)printf "%.1f",$2/1024}'`

    used=`free -m |awk '{if(NR==2) printf "%.1f",($2-$NF)/1024}'`

    available=`free -m |awk '{if(NR==2) printf "%.1f",$NF/1024}'`

    echo "內(nèi)存 - 總大小: ${total}G , 使用: ${used}G , 剩余: ${available}G"

}

disk(){

 fs=$(df -h |awk '/^\/dev/{print $1}')

    for p in $fs; do

        mounted=$(df -h |awk '$1=="'$p'"{print $NF}')

        size=$(df -h |awk '$1=="'$p'"{print $2}')

        used=$(df -h |awk '$1=="'$p'"{print $3}')

        used_percent=$(df -h |awk '$1=="'$p'"{print $5}')

        echo "硬盤 - 掛載點(diǎn): $mounted , 總大小: $size , 使用: $used , 使用率: $used_percent"

    done

}

function tcp_status() {

    summary=$(ss -antp |awk '{status[$1]++}END{for(i in status) printf i":"status[i]" "}')

    echo "TCP連接狀態(tài) - $summary"

}

cpu

memory

disk

tcp_status

9、以 root 身份運(yùn)行整個(gè) shell 腳本

將 sudo 放在 shell 腳本的首中,會(huì)以 root 身份運(yùn)行整個(gè)程序。 對(duì)設(shè)計(jì)用于例如的腳本很有用 自動(dòng)化系統(tǒng)升級(jí)或包管理器包裝器——不再需要用 sudo 預(yù)先準(zhǔn)備一切

#!/usr/bin/sudo /bin/bash

10、將視頻轉(zhuǎn)換為gif動(dòng)圖

需要系統(tǒng)安裝 ffmpeg , ubuntu 中可以通過(guò) sudo apt install ffmpeg 安裝。

ffmpeg -ss 00:00:03 -t 3 -i test.mov -s 640x360 -r  15  dongtu.gif

  • -ss 00:00:03 表示從第 00 分鐘 03 秒開(kāi)始制作 GIF,如果你想從第 9 秒開(kāi)始,則輸入 -ss 00:00:09,或者 -ss 9,支持小數(shù)點(diǎn),所以也可以輸入 -ss 00:00:11.3,或者 -ss 34.6 之類的,如果不加該命令,則從 0 秒開(kāi)始制作; 

  • -t 3 表示把持續(xù) 3 秒的視頻轉(zhuǎn)換為 GIF,你可以把它改為其他數(shù)字,例如 1.5,7 等等,時(shí)間越長(zhǎng),GIF 體積越大,如果不加該命令,則把整個(gè)視頻轉(zhuǎn)為 GIF; 

  • -i 表示 invert 的意思吧,轉(zhuǎn)換; 

  • test.mov 就是你要轉(zhuǎn)換的視頻,名稱最好不要有中文,不要留空格,支持多種視頻格式; 

  • -s 640x360 是 GIF 的分辨率,視頻分辨率可能是 1080p,但你制作的 GIF 可以轉(zhuǎn)為 720p 等,允許自定義,分辨率越高體積越大,如果不加該命令,則保持分辨率不變; 

  • -r “15” 表示幀率,網(wǎng)上下載的視頻幀率通常為 24,設(shè)為 15 效果挺好了,幀率越高體積越大,如果不加該命令,則保持幀率不變;

  • dongtu.gif:就是你要輸出的文件,你也可以把它命名為 hello.gif 等等。

不知道這里面是否有你需要的腳本或命令,但不妨先收藏,需要的時(shí)候再學(xué)習(xí)使用下。如果你希望系統(tǒng)的學(xué)習(xí)一下 Linux 腳本,不妨先找一本關(guān)于 Linux Shell 腳本的書(shū)開(kāi)始吧。

[我要糾錯(cuò)]
[編輯:王振袢 &發(fā)表于江蘇]
關(guān)鍵詞: 這些 Linux 腳本 有用 趕緊

來(lái)源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺(tái),并已注明來(lái)源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)聯(lián)系小編,我們會(huì)及時(shí)審核處理。
聲明:江蘇教育黃頁(yè)對(duì)文中觀點(diǎn)保持中立,對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對(duì)文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點(diǎn)個(gè)贊
0
踩一腳
0

您在閱讀:這些 Linux 腳本很有用,趕緊收藏起來(lái)!

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺(tái)保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號(hào)-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計(jì)

主站蜘蛛池模板: 精品国产一区二区三区免费 | 最近中文字幕完整视频高清10 | 人人鲁免费播放视频人人香蕉 | 亚洲第一毛片 | 嗯啊使劲用力在线观看视频 | 国产一区二区成人 | 欧美成国产精品 | 亚洲国产欧美在线人网站 | 日本三级特黄三级 | 美日韩在线视频 | 乱人伦99久久 | 欧美成人精品第一区 | 欧美xxxxxxxx| 欧美性69videosex| 色婷婷婷丁香亚洲综合不卡 | 久久精品国产亚洲精品2020 | 国产色爽女小说免费看 | 亚洲国产日韩欧美综合久久 | 91免费视| 免费 黄 色 人成 视频 | 性欧美video视频另类 | 日韩一区二区三区在线播放 | 精品视频一区二区三区四区 | 欧美一区二区视频高清转区 | 黄网站免费视频 | 精品一区二区免费视频 | 永久免费视频v片www | 成人私人影院www片免费高清 | 天天操夜夜嗨 | 动漫成年美女黄漫网站国产 | 嫩草影院永久一二三入口 | 欧美高清无砖专区欧美精品 | 九九久久精品视频 | 色综合888 | 制服丝袜中文字幕在线 | 激情综合网婷婷 | 天天操天天射天天插 | www日韩免费高清视频 | 日本三级网站 | 免费视频18 | 狠狠搞视频 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價(jià)格低
  • 蘋果原裝手機(jī)殼