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

這些 Linux 腳本很有用,趕緊收藏起來!

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

這些 Linux 腳本很有用,趕緊收藏起來!Linux 腳本?準確的說叫 Linux Shell 腳本,Shell 腳本是一種被設計用來運行命令行解釋器,他是 Linux 系統的一大特色之一。命令行是 Linux 系統中一種非常重要的...

640.jpeg

這些 Linux 腳本很有用,趕緊收藏起來!

Linux 腳本?準確的說叫 Linux Shell 腳本,Shell 腳本是一種被設計用來運行命令行解釋器,他是 Linux 系統的一大特色之一。

命令行是 Linux 系統中一種非常重要的交互方式,而它的實現基于 Linux 內核和 Shell 程序,為用戶提供了強大和靈活的操作方式。

使用 Linux 系統會點 Linux 腳本非常有用,它可以讓你的工作即輕松又高效!

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

1、列出排名前10的內存占用進程

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

2、iptables 自動屏蔽訪問網站頻繁的IP

使用場景:針對惡意訪問網站情況

根據訪問日志(以 nginx 的 logs 中記錄訪問的 access.log 日志文件為例,檢測短期訪問大于100的IP,并使用iptables命令進行屏蔽,同時將禁用的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、自動發布 Java 項目(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

# 構建

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 訪問日志分析腳本

#!/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 "統計訪問最多的10個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 "統計時間段訪問最多的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 "統計訪問最多的10個頁面"

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 "統計訪問頁面狀態碼數量"

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

5、查看網卡實時流量腳本

#!/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、批量檢測網站是否異常并郵件通知

#!/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 "網站$URL壞掉,請及時處理" | mail -s "$URL網站高危" xxxxx@163.com

    fi

done

7、目錄入侵檢測與告警

#!/bin/bash

MON_DIR=/opt

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

while read files; do

   #同步文件

   rsync -avz /opt /tmp/opt

  #檢測文件是否被修改

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

done

8、一鍵查看服務器利用率

#!/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相應使用率:${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 "內存 - 總大小: ${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 "硬盤 - 掛載點: $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連接狀態 - $summary"

}

cpu

memory

disk

tcp_status

9、以 root 身份運行整個 shell 腳本

將 sudo 放在 shell 腳本的首中,會以 root 身份運行整個程序。 對設計用于例如的腳本很有用 自動化系統升級或包管理器包裝器——不再需要用 sudo 預先準備一切

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

10、將視頻轉換為gif動圖

需要系統安裝 ffmpeg , ubuntu 中可以通過 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 秒開始制作 GIF,如果你想從第 9 秒開始,則輸入 -ss 00:00:09,或者 -ss 9,支持小數點,所以也可以輸入 -ss 00:00:11.3,或者 -ss 34.6 之類的,如果不加該命令,則從 0 秒開始制作; 

  • -t 3 表示把持續 3 秒的視頻轉換為 GIF,你可以把它改為其他數字,例如 1.5,7 等等,時間越長,GIF 體積越大,如果不加該命令,則把整個視頻轉為 GIF; 

  • -i 表示 invert 的意思吧,轉換; 

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

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

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

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

不知道這里面是否有你需要的腳本或命令,但不妨先收藏,需要的時候再學習使用下。如果你希望系統的學習一下 Linux 腳本,不妨先找一本關于 Linux Shell 腳本的書開始吧。

[我要糾錯]
[ 編輯:王振袢 &發表于江蘇 ]
關鍵詞: 這些 Linux 腳本 有用 趕緊

來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

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

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 天堂网在线视频 | 日本黄网在线观看 | 日韩三级欧美 | 成年视频xxxxx在线网站 | 久久天堂| 91在线视频免费看 | 欧美成人免费高清二区三区 | 久久综合九色综合欧美狠狠 | 精品国内自产拍在线视频 | 算你色永久免费视频播放 | 国产三区二区 | 国产精品亚洲二区在线 | 亚洲第一区香蕉_国产a | 成人无遮挡肉动漫视频免费 | 国产免费久久精品99 | 黄+色+性+人免费 | 一级美国乱色毛片 | 国产乱人伦av在线a 国产乱人伦精品一区二区 国产乱人免费视频 | 麻豆导航 | 最近中文字幕免费版在线3 最近中文字幕免费版在线 最近中文字幕免费mv在线视频 | 五月婷久久 | 视频一区 中文字幕 | 香蕉视频911 | 国产三级精品三级在专区中文 | 男女午夜视频 | 中文字幕在线视频免费 | 国产日韩欧美精品一区 | 欧美日韩一级黄色片 | 日本成年免费网站 | 黄色亚洲片| 边做边叫床的大尺度视频免费 | 午夜精品aaa国产福利 | 日本一区二区三区免费高清在线 | 久久久精品成人免费看 | 男人边吃奶边爱边做视频刺激 | 日韩在线看片中文字幕不卡 | 国产精品一区二区手机看片 | 五月综合激情 | 自偷自偷自亚洲首页精品 | 欧美视 | 日韩不卡 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼