成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Shell 腳本編程:七個(gè)提高效率的自動(dòng)化腳本

系統(tǒng) Linux
本文將介紹七個(gè)實(shí)用Shell腳本,涵蓋文件管理、系統(tǒng)監(jiān)控、數(shù)據(jù)處理等常見場景,適合初學(xué)者學(xué)習(xí)參考。

Shell腳本是Linux系統(tǒng)管理和自動(dòng)化任務(wù)的強(qiáng)大工具。通過編寫腳本,我們可以將重復(fù)性工作自動(dòng)化,大幅提升效率。

本文將介紹七個(gè)實(shí)用Shell腳本,涵蓋文件管理、系統(tǒng)監(jiān)控、數(shù)據(jù)處理等常見場景,適合初學(xué)者學(xué)習(xí)參考。

1. 自動(dòng)備份重要文件

場景:定期備份/home/user/documents目錄到/backup,并壓縮存檔。

#!/bin/bash
# 定義源目錄和目標(biāo)目錄
SOURCE_DIR="/home/user/documents"
BACKUP_DIR="/backup"
DATE=$(date +%Y-%m-%d)


# 創(chuàng)建備份文件(帶日期)
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR"


# 輸出成功信息
echo "Backup completed: $BACKUP_DIR/backup_$DATE.tar.gz"

說明:

  • tar -czf:壓縮目錄為.tar.gz文件。
  • date +%Y-%m-%d:獲取當(dāng)前日期,用于文件名。

2. 監(jiān)控磁盤空間并發(fā)送警報(bào)

場景:當(dāng)磁盤使用率超過90%時(shí)發(fā)送郵件報(bào)警。

#!/bin/bash
THRESHOLD=90
CURRENT=$(df / | grep / | awk '{print $5}' | sed 's/%//g')


if [ "$CURRENT" -gt "$THRESHOLD" ]; then
    echo "Disk usage is $CURRENT% on $(hostname)" | mail -s "Disk Alert" admin@example.com
fi

說明:

  • df /:獲取根分區(qū)磁盤使用率。
  • mail:發(fā)送郵件(需配置郵件服務(wù))。

3. 自動(dòng)清理舊日志文件

場景:刪除/var/log下超過30天的日志文件。

#!/bin/bash
find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \;

說明:

  • find -mtime +30:匹配修改時(shí)間超過30天的文件。
  • -exec rm {} \;:對找到的文件執(zhí)行刪除操作。

4. 檢查服務(wù)器存活狀態(tài)

場景:檢測一組服務(wù)器是否在線。

#!/bin/bash
SERVERS=("192.168.1.1" "192.168.1.2" "example.com")


for server in "${SERVERS[@]}"; do
    ping -c 1 "$server" &> /dev/null && echo "$server is UP" || echo "$server is DOWN"
done

說明:

  • ping -c 1:發(fā)送1次ICMP請求。
  • &> /dev/null:忽略輸出,僅顯示結(jié)果。

5. 密碼生成器

場景:生成隨機(jī)密碼(含大小寫字母、數(shù)字、符號)。

#!/bin/bash
LENGTH=12
PASSWORD=$(tr -dc 'A-Za-z0-9!@#$%^&*' < /dev/urandom | head -c "$LENGTH")
echo "Generated Password: $PASSWORD"

說明:

  • /dev/urandom:Linux隨機(jī)數(shù)設(shè)備。
  • tr -dc:過濾指定字符集。

6. 實(shí)時(shí)監(jiān)控DNS解析狀態(tài)

場景:持續(xù)檢查域名是否能正常解析,失敗時(shí)記錄日志。

#!/bin/bash
domain="example.com"
log_file="dns.log"


while true; do
    result=$(dig +short $domain)
    [ -z "$result" ] && echo "$(date): DNS failed" >> $log_file
    sleep 1
done

說明:

  • dig +short:快速獲取DNS解析結(jié)果。
  • 空結(jié)果時(shí)記錄日志,適合監(jiān)控關(guān)鍵域名可用性。

7. HTTP服務(wù)監(jiān)控腳本

場景:持續(xù)檢測網(wǎng)站可用性,記錄訪問狀態(tài)碼

#!/bin/bash
url="http://example.com"
log_file="http_test.log"


while true; do
    http_result=$(curl -s -o /dev/null -w "%{http_code}" $url)
    if [ $http_result -eq 200 ]; then
        echo "$(date): HTTP request to $url succeeded (Status: $http_result)" >> $log_file
    else
        echo "$(date): HTTP request to $url failed (Status: $http_result)" >> $log_file
    fi
    sleep 1
done

說明:

  • curl -w "%{http_code}":獲取HTTP狀態(tài)碼
  • 狀態(tài)碼200時(shí)記錄成功,其他狀態(tài)記錄失敗
責(zé)任編輯:趙寧寧 來源: DevOps運(yùn)維實(shí)戰(zhàn)
相關(guān)推薦

2015-05-22 14:01:50

編程提高效率

2015-06-02 09:33:30

編程效率程序員

2023-10-23 15:02:53

JavaScript

2019-06-25 08:42:13

Linux命令指令

2020-06-04 15:55:54

GitHub代碼開發(fā)者

2025-01-15 17:00:00

開發(fā)Linux命令

2023-05-17 16:47:47

物聯(lián)網(wǎng)智能建筑

2010-04-13 15:14:31

Oracle優(yōu)化

2015-11-27 12:59:11

Android技巧提高效率

2018-09-30 14:46:38

Linux命令技巧

2024-10-28 19:36:05

2014-12-12 09:52:04

JavaScript

2020-07-08 14:10:30

開發(fā)技能工具

2021-08-02 09:29:08

Vscode開發(fā)Web

2015-09-06 16:05:57

綠色數(shù)據(jù)中心效率

2012-03-27 09:17:43

Visual Stud

2017-06-07 10:36:03

信息化房屋房屋征收信息化管理

2021-12-17 15:03:50

Python工具代碼

2013-11-18 10:31:03

Unix操作

2013-11-18 10:36:39

Unix命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品视频网| www九色| 午夜影院毛片 | 一级无毛片 | 天天操夜夜操免费视频 | 欧美一区视频 | 国产伊人久久久 | 亚洲国产成人av好男人在线观看 | 特级黄一级播放 | 国产丝袜一区二区三区免费视频 | 波多野吉衣在线播放 | 日韩中文字幕在线视频观看 | 免费在线观看一区二区三区 | 爱爱爱av | 日韩视频三区 | 亚洲v区| 欧美日韩高清一区二区三区 | 欧美日韩在线一区二区三区 | 成人精品久久 | 成人亚洲精品 | 在线四虎| 日本手机在线 | 国产午夜精品久久 | 日韩在线观看网站 | 国产精品国产精品国产专区不蜜 | 伊人一区| 伊人超碰 | 久久久久久久综合 | 成人黄色av网站 | 成人免费视频网站在线观看 | 五月激情婷婷网 | 一级a性色生活片久久毛片波多野 | 成人免费毛片片v | 91免费观看国产 | 成人精品一区二区三区中文字幕 | 久久久成人免费一区二区 | 日韩精品在线观看免费 | 久久小视频| 嫩草视频在线免费观看 | 成人福利视频网站 | 香蕉视频1024 |