久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

279個(gè)開(kāi)箱即用Shell腳本:從落地、選型到生產(chǎn)級(jí)改造避坑指南

279個(gè)開(kāi)箱即用Shell腳本:從落地、選型到生產(chǎn)級(jí)改造避坑指南 簡(jiǎn)介匯總279個(gè)可直接投入使用的Shell腳本應(yīng)用集覆蓋DDoS攻擊IP自動(dòng)屏蔽、Linux系統(tǒng)郵件告警、MySQL數(shù)據(jù)庫(kù)單/多循環(huán)備份、Nginx訪問(wèn)日志按天切割與深度分析、網(wǎng)卡實(shí)時(shí)流量監(jiān)控等高頻運(yùn)維場(chǎng)景。腳本邏輯清晰、關(guān)鍵命令注釋完整適合Linux/Unix系統(tǒng)管理員、運(yùn)維工程師及希望提升自動(dòng)化能力的初中級(jí)學(xué)習(xí)者參考可結(jié)合實(shí)際業(yè)務(wù)需求修改后部署。資源包內(nèi)共1個(gè)PDF文檔體積4.69MB便于快速瀏覽、檢索與離線學(xué)習(xí)當(dāng)前已有154人學(xué)習(xí)下載。內(nèi)容不僅有現(xiàn)成腳本代碼還梳理了日期獲取、日志分析、iptables策略、mysqldump備份、cron定時(shí)任務(wù)等核心技術(shù)點(diǎn)幫助讀者理解腳本背后的設(shè)計(jì)思路與排錯(cuò)途徑。對(duì)于需要快速構(gòu)建服務(wù)器安全防護(hù)、數(shù)據(jù)庫(kù)災(zāi)備和日志管理體系的團(tuán)隊(duì)這份資料具備較高實(shí)用價(jià)值。1. 279個(gè)開(kāi)箱即用的shell腳本治好的是“重復(fù)勞動(dòng)”焦慮不是“復(fù)雜問(wèn)題”執(zhí)念第一次拿到“279個(gè)開(kāi)箱即用的shell腳本”壓縮包時(shí)我的第一反應(yīng)是“這么多八成有擺設(shè)”。翻完關(guān)鍵腳本后發(fā)現(xiàn)它的價(jià)值不在單個(gè)腳本多聰明而在于把巡檢、日志、備份、網(wǎng)絡(luò)檢查這些最高頻的運(yùn)維場(chǎng)景統(tǒng)一成可以直接跑的形態(tài)。2024年新版腳本風(fēng)格更干凈變量、函數(shù)、退出碼的約定更一致這對(duì)批量投入使用的人來(lái)說(shuō)反而最值錢(qián)。這套東西適合日常維護(hù)幾十臺(tái)服務(wù)器的運(yùn)維、剛接手機(jī)器又不想從零養(yǎng)腳本庫(kù)的開(kāi)發(fā)者也適合交付時(shí)快速湊齊基礎(chǔ)檢查項(xiàng)的人。它解決的是重復(fù)勞動(dòng)不是復(fù)雜問(wèn)題。下面按“怎么落地、怎么選、怎么改、坑在哪”的順序把這套腳本真正用起來(lái)。2. 壓縮包到手怎么落地目錄規(guī)劃、環(huán)境準(zhǔn)備和首次運(yùn)行拿到279個(gè)腳本的壓縮包之后第一件要做的事不是立刻翻代碼而是先把目錄結(jié)構(gòu)立起來(lái)。腳本集合最大的隱患就是目錄亂腳本放在頂層、配置文件散落各處、日志不知道寫(xiě)到哪里一旦跑起來(lái)根本沒(méi)法維護(hù)。我一般會(huì)首先在服務(wù)器上建一個(gè)獨(dú)立目錄比如~/ops/shell-lib把整個(gè)集合按“可執(zhí)行腳本、公共函數(shù)、配置文件、日志、備份產(chǎn)物”拆成五塊。2.1 拿到手先定位先看目錄樹(shù)和說(shuō)明文檔先把壓縮包解開(kāi)然后用tree -L 2看結(jié)構(gòu)第一時(shí)間確定三件事腳本是不是按功能分子目錄了、有沒(méi)有公共函數(shù)文件、有沒(méi)有內(nèi)置的說(shuō)明文檔。很多腳本集合表面有279個(gè)文件實(shí)際有效腳本只有兩百多剩下的是配置文件、空目錄、說(shuō)明文檔甚至有幾個(gè)是同一個(gè)腳本的舊版本。mkdir -p ~/ops/shell-lib cd ~/ops/shell-lib # 解壓指令要和你實(shí)際拿到的包名一致 tar xzf shell-scripts-2024.tar.gz # 看兩層目錄先摸清結(jié)構(gòu)再動(dòng)手 find . -maxdepth 2 -type f | head -50這段代碼的作用是先把環(huán)境立起來(lái)。mkdir -p保證目錄不存在時(shí)自動(dòng)創(chuàng)建后面所有腳本都能在這個(gè)公共目錄里啟動(dòng)。find加上maxdepth 2是為了先看前兩層避免一次性輸出太多文件反而看不清結(jié)構(gòu)。解壓之后我建議把包里的說(shuō)明文檔先翻一遍重點(diǎn)看作者聲明的依賴項(xiàng)、Linux發(fā)行版兼容性、有沒(méi)有說(shuō)明默認(rèn)安裝路徑這些信息比腳本本身更能決定你能不能在一小時(shí)內(nèi)跑通。2.2 環(huán)境準(zhǔn)備先確認(rèn)本地有沒(méi)有這些默認(rèn)依賴279個(gè)腳本不可能都只用原生的bash。凡是涉及網(wǎng)絡(luò)、磁盤(pán)、數(shù)據(jù)庫(kù)、文本處理的腳本多少都會(huì)依賴外部命令最常見(jiàn)的是curl、grep、awk、sed、gzip、df、mysqldump、jq。跑全套之前我建議先做一次依賴盤(pán)點(diǎn)缺什么補(bǔ)什么避免腳本跑到一半才報(bào)“command not found”。# 一鍵檢查常用依賴是否存在 for cmd in bash curl grep awk sed gzip df jq mysql mysqldump bc getopt; do if command -v $cmd /dev/null 21; then echo [OK] $cmd else echo [MISSING] $cmd fi done這段代碼的意義不是挨個(gè)執(zhí)行which而是用command -v做一次快速掃描。command -v返回0表示命令存在非0表示缺失比which更可靠因?yàn)閣hich在某些精簡(jiǎn)系統(tǒng)里本身可能就不存在。輸出里凡是出現(xiàn)[MISSING]的就是你在跑對(duì)應(yīng)腳本之前必須先處理的。比如jq缺失JSON解析類的腳本就跑不了mysql缺失數(shù)據(jù)庫(kù)備份腳本就會(huì)在執(zhí)行時(shí)直接退出。2.3 把 bin 目錄加進(jìn) PATH讓腳本可以被直接調(diào)用不把腳本加進(jìn) PATH 的后果是你每次都要bash /完整/路徑/腳本.sh這非常累而且腳本里的人相對(duì)路徑一旦寫(xiě)錯(cuò)就會(huì)翻車(chē)。常見(jiàn)做法是在~/.bashrc里增加環(huán)境變量把腳本的核心目錄固定下來(lái)再把可執(zhí)行腳本所在的 bin 目錄加進(jìn) PATH。cat ~/.bashrc EOF # shell腳本庫(kù)環(huán)境變量 export OPS_HOME$HOME/ops/shell-lib export OPS_CONF$OPS_HOME/conf export OPS_LOG$OPS_HOME/logs export PATH$OPS_HOME/bin:$PATH EOF source ~/.bashrc # 驗(yàn)證是否能直接找到腳本 command -v disk_check || echo 還沒(méi)找到檢查 PATH 配置這里用EOF而不是EOF是有意的帶引號(hào)的 EOF 能防止$HOME、$OPS_HOME在追加時(shí)被展開(kāi)確保變量是寫(xiě)進(jìn)文件里、而不是寫(xiě)成固定的當(dāng)前目錄值。source之后新開(kāi)的終端也會(huì)生效。PATH 加在靠前位置是防止系統(tǒng)里同名命令覆蓋腳本庫(kù)。2.4 跑通第一個(gè)腳本先選一個(gè)副作用最小的腳本驗(yàn)證環(huán)境想驗(yàn)證整個(gè)環(huán)境是否正常最快的辦法是跑一個(gè)只讀類腳本比如磁盤(pán)空間檢查或系統(tǒng)信息收集腳本。這種腳本沒(méi)有刪除操作、不寫(xiě)外部文件跑掛了也不影響系統(tǒng)。以磁盤(pán)檢查腳本為例你只需要傳一個(gè)閾值參數(shù)進(jìn)去# 閾值設(shè)成90意思就是超過(guò)90%才告警 bash bin/disk_check.sh 90 echo 退出碼$?跑完你會(huì)發(fā)現(xiàn)腳本輸出可能只有一行也可能有格式化表格更重要的是退出碼。很多腳本都會(huì)約定0為正常、非0為異常。在第一次跑通之后我建議你觀察一下它的輸出格式是純文本、還是帶顏色、還是能輸出 CSV。這一步看起來(lái)不起眼但后面你要接告警或自動(dòng)化平臺(tái)時(shí)輸出格式?jīng)Q定了你要不要加一層解析。3. 279個(gè)腳本按場(chǎng)景怎么選巡檢、日志、備份、網(wǎng)絡(luò)四類先看哪幾個(gè)腳本集合一多最容易犯的錯(cuò)是把時(shí)間花在“把所有腳本都讀一遍”上。我的建議是反過(guò)來(lái)先確定你自己手頭最痛的場(chǎng)景再按場(chǎng)景去翻對(duì)應(yīng)腳本。絕大多數(shù)合集里的腳本都能歸到四類系統(tǒng)巡檢、日志處理、數(shù)據(jù)庫(kù)備份、網(wǎng)絡(luò)連通性檢查。每一類的考察重點(diǎn)不一樣下面分別說(shuō)。3.1 系統(tǒng)巡檢類先看指標(biāo)采集范圍再看輸出格式系統(tǒng)巡檢類腳本通常是這個(gè)合集里數(shù)量最多的一類涵蓋CPU負(fù)載、內(nèi)存占用、磁盤(pán)容量、進(jìn)程數(shù)、登錄失敗次數(shù)等等。挑選時(shí)我只看兩點(diǎn)第一是指標(biāo)采集是否用對(duì)了命令第二是結(jié)果是否結(jié)構(gòu)化。# 一個(gè)典型的巡檢腳本骨架采集磁盤(pán)使用率并輸出 CSV #!/usr/bin/env bash set -Eeuo pipefail echo filesystem,use_percent,mount_point df -h | awk NR1 { gsub(%, , $5); print $1,$5,$6 }這段代碼展示了巡檢腳本的通用套路。set -Eeuo pipefail讓腳本在遇到未定義變量、管道失敗時(shí)立刻退出避免錯(cuò)誤被吞掉。df -h輸出第一行是標(biāo)題NR1跳過(guò)標(biāo)題行g(shù)sub把百分比后面的%去掉最后拼成CSV。你拿到巡檢腳本時(shí)重點(diǎn)看有沒(méi)有類似的“可解析輸出”設(shè)計(jì)。如果一個(gè)巡檢腳本只是打印一堆字符串沒(méi)有分隔符那它更適合人看不適合接自動(dòng)化平臺(tái)。3.2 日志處理類切割、歸檔、統(tǒng)計(jì)三件事邊界條件完全不一樣日志腳本在279個(gè)集合理通常也占不小比例。按天切割是最常見(jiàn)的需求。挑日志腳本時(shí)要特別留意三件事文件名后綴怎么生成、是否跳過(guò)正在寫(xiě)的內(nèi)容、保留天數(shù)由什么參數(shù)控制。# 日志切割腳本按天歸檔并按保留天數(shù)清理舊日志 #!/usr/bin/env bash set -Eeuo pipefail LOG_DIR${1:-/var/log/myapp} KEEP_DAYS${2:-7} if [ ! -d $LOG_DIR ]; then echo [ERROR] 目錄不存在: $LOG_DIR 2 exit 2 fi # 將 *.log 原地壓縮為 *.log.20240101.gz find $LOG_DIR -maxdepth 1 -type f -name *.log -print0 | while IFS read -r -d f; do gzip -S .$(date %Y%m%d).gz $f done # 找到超過(guò)保留天數(shù)的 .gz 文件并刪除 find $LOG_DIR -maxdepth 1 -type f -name *.gz -mtime $KEEP_DAYS -delete這段代碼把切割和清理分成兩步。參數(shù)化設(shè)計(jì)讓路徑和保留天數(shù)可以在調(diào)用時(shí)傳${1:-默認(rèn)值}的寫(xiě)法保證不傳參也不會(huì)直接報(bào)錯(cuò)。-print0配合read -r -d 是為了處理文件名里有空格的情況這一步在日志目錄里特別重要很多日志文件名都帶空格或特殊字符。gzip -S指定壓縮文件后綴-mtime $KEEP_DAYS表示只看修改時(shí)間超過(guò)N天的文件。你拿到合集里的日志腳本時(shí)先確認(rèn)它用的是-print0還是普通的-exec。如果是普通寫(xiě)法且沒(méi)做過(guò)濾遇到帶空格的文件名大概率會(huì)翻車(chē)。3.3 數(shù)據(jù)庫(kù)備份類先看備份用的命令、壓縮方式、恢復(fù)腳本有沒(méi)有配齊數(shù)據(jù)庫(kù)備份腳本是風(fēng)險(xiǎn)最高的一類因?yàn)樗倪\(yùn)行結(jié)果直接影響可用性。這類腳本我建議你只信“能恢復(fù)的備份”也就是備份完一定要有辦法驗(yàn)證。選型時(shí)先看它用的是mysqldump、pg_dump還是文件系統(tǒng)快照方式再看有沒(méi)有配套的恢復(fù)腳本。# MySQL 備份腳本骨架按庫(kù)導(dǎo)出并壓縮 #!/usr/bin/env bash set -Eeuo pipefail DB_USER${DB_USER:-backup_user} DB_PASS${DB_PASS:-} DB_NAME${1:-} BACKUP_DIR${2:-/var/backups/mysql} if [ -z $DB_NAME ]; then echo 用法: $0 數(shù)據(jù)庫(kù)名 [備份目錄](méi) 2 exit 2 fi STAMP$(date %Y%m%d_%H%M%S) mkdir -p $BACKUP_DIR mysqldump --single-transaction -u$DB_USER -p$DB_PASS $DB_NAME | gzip $BACKUP_DIR/${DB_NAME}_${STAMP}.sql.gz echo 備份完成: $BACKUP_DIR/${DB_NAME}_${STAMP}.sql.gz數(shù)據(jù)庫(kù)腳本最重要的參數(shù)是--single-transaction它保證備份期間不鎖表在線備份時(shí)尤其關(guān)鍵。用戶名和密碼通過(guò)環(huán)境變量傳入而不是寫(xiě)死在腳本里這是接手任何備份腳本時(shí)最應(yīng)該先改的地方。備份完成后我會(huì)額外跑一次gzip -t來(lái)驗(yàn)證壓縮包完整性再?zèng)Q定要不要保留這個(gè)腳本作為日常任務(wù)。3.4 網(wǎng)絡(luò)與連通性檢查以退出碼和超時(shí)為準(zhǔn)別只看輸出網(wǎng)絡(luò)類腳本和其他腳本最大的不同是它的執(zhí)行結(jié)果受到外部環(huán)境干擾丟包、超時(shí)、DNS解析失敗都可能讓輸出變得不可信。挑這類腳本時(shí)重點(diǎn)看有沒(méi)有設(shè)置合理超時(shí)以及是否以退出碼作為判斷依據(jù)。# 連通性檢查帶超時(shí)并輸出結(jié)構(gòu)化結(jié)果 #!/usr/bin/env bash set -Eeuo pipefail TARGET${1:-8.8.8.8} COUNT${2:-3} TIMEOUT${3:-2} if ping -c $COUNT -W $TIMEOUT $TARGET /dev/null 21; then echo reachable exit 0 else echo unreachable exit 1 fi這段代碼把輸出和退出碼綁在一起正常時(shí)輸出reachable并返回0失敗時(shí)輸出unreachable并返回1。-W是超時(shí)秒數(shù)-c是發(fā)包數(shù)量。注意ping的參數(shù)在 Linux 和 macOS 上不一樣macOS 用的是-t你如果腳本庫(kù)里混用了這兩個(gè)參數(shù)到了另一臺(tái)機(jī)器上就會(huì)直接報(bào)錯(cuò)。這類腳本還有一點(diǎn)要注意就是不要把 ICMP 連通性和服務(wù)可用性混為一談端口通不通是另一層問(wèn)題。4. 挑三個(gè)腳本做生產(chǎn)級(jí)改造參數(shù)化、配置化、退出碼一個(gè)都不能少279個(gè)腳本里真正能“開(kāi)箱即用”的估計(jì)只有一半多另外一半要么是示例、要么是某個(gè)特定環(huán)境的寫(xiě)法。我的經(jīng)驗(yàn)是與其把這279個(gè)都用一遍不如挑三個(gè)最常用的改造到能直接進(jìn)生產(chǎn)。改造的目標(biāo)很簡(jiǎn)單參數(shù)能傳、配置能改、退出碼能信。4.1 日志切割腳本改造把路徑和保留天數(shù)抽成參數(shù)先改造日志切割腳本。原始腳本很可能把路徑寫(xiě)死在文件里比如LOG_DIR/var/log/nginx。這種寫(xiě)死的問(wèn)題是你復(fù)制到新機(jī)器上就必須打開(kāi)文件改很容易改錯(cuò)。改造后應(yīng)該支持兩個(gè)參數(shù)日志目錄和保留天數(shù)。#!/usr/bin/env bash # 按天切割日志保留 N 天 # 用法: log_rotate.sh 日志目錄 [保留天數(shù)] set -Eeuo pipefail LOG_DIR${1:?必須指定日志目錄} KEEP_DAYS${2:-7} if [ ! -d $LOG_DIR ]; then echo [ERROR] 目錄不存在: $LOG_DIR 2 exit 2 fi # 第一步壓縮現(xiàn)有 *.log find $LOG_DIR -maxdepth 1 -type f -name *.log -print0 | while IFS read -r -d f; do gzip -S .$(date %Y%m%d).gz $f done # 第二步清理超過(guò)保留天數(shù)的壓縮包 # 注意-mtime 的數(shù)值是“超過(guò) N 天”保守起見(jiàn)可以加 1 find $LOG_DIR -maxdepth 1 -type f -name *.gz -mtime $((KEEP_DAYS1)) -delete echo [OK] $LOG_DIR 切割完成保留 $KEEP_DAYS 天這次改造有三個(gè)關(guān)鍵變化。第一個(gè)是${1:?必須指定日志目錄}這個(gè)寫(xiě)法會(huì)在參數(shù)為空時(shí)報(bào)錯(cuò)并退出避免后續(xù)所有命令拿空值去執(zhí)行。第二個(gè)是KEEP_DAYS的默認(rèn)值7天調(diào)用者不傳也能跑。第三個(gè)是刪除條件用了$((KEEP_DAYS1))也就是保留N天多一點(diǎn)防止剛切割完的文件因?yàn)闀r(shí)間邊界被誤刪。實(shí)踐中最容易翻車(chē)的就是這個(gè)保留天數(shù)邊界建議按“多留一天”來(lái)改刪文件條件。4.2 磁盤(pán)告警腳本改造閾值參數(shù)化告警通道和檢測(cè)邏輯分離磁盤(pán)告警腳本是另一個(gè)高頻改造對(duì)象。最初的版本往往只負(fù)責(zé)“檢測(cè)加打印”能不能真正告警取決于你把它接到哪里。我習(xí)慣把告警動(dòng)作單獨(dú)拆出去檢測(cè)腳本只負(fù)責(zé)判斷和輸出告警邏輯通過(guò)回調(diào)函數(shù)或環(huán)境變量來(lái)指定。#!/usr/bin/env bash # 磁盤(pán)使用率告警閾值作為參數(shù) # 用法: disk_alert.sh [閾值] [文件系統(tǒng)] set -Eeuo pipefail THRESHOLD${1:-80} FILESYSTEM${2:-/} USAGE$(df -h $FILESYSTEM | awk NR2 {gsub(%,,$5); print $5}) if [ $USAGE -ge $THRESHOLD ]; then echo [ALERT] $FILESYSTEM 使用率 ${USAGE}% 超過(guò)閾值 ${THRESHOLD}% # 告警通道由環(huán)境變量決定不在腳本里寫(xiě)死 # 調(diào)用側(cè)示例: ALERT_CMDcurl -s -X POST http://alert-server/api if [ -n ${ALERT_CMD:-} ]; then $ALERT_CMD $FILESYSTEM $USAGE fi exit 1 fi echo [OK] $FILESYSTEM 使用率 ${USAGE}% exit 0改造的重點(diǎn)是把“告警方式”從腳本里摘出去。你在這臺(tái)機(jī)器上可能想發(fā)HTTP請(qǐng)求到告警平臺(tái)在另一臺(tái)機(jī)器上只想寫(xiě)日志如果腳本寫(xiě)死了告警方式就很難復(fù)用。用ALERT_CMD環(huán)境變量把告警命令交給調(diào)用者定義腳本本身只做檢測(cè)和判斷。這里沒(méi)有給$ALERT_CMD加引號(hào)是刻意讓 shell 按空格分詞把命令和參數(shù)拆開(kāi)這種寫(xiě)法對(duì)安全邊界有要求所以注釋里寫(xiě)清楚了調(diào)用側(cè)負(fù)責(zé)定義可信命令。4.3 批量執(zhí)行器改造處理空行、注釋、引號(hào)防止命令被拆碎批量執(zhí)行器的作用是從一個(gè)主機(jī)列表文件里逐行讀服務(wù)器然后統(tǒng)一執(zhí)行命令。這種腳本看起來(lái)簡(jiǎn)單但最容易出問(wèn)題的是文件讀取邏輯。沒(méi)有經(jīng)驗(yàn)的寫(xiě)法是for i in $(cat list)一旦列表里有空格或空行處理邏輯就會(huì)崩。更穩(wěn)妥的是用while read配合IFS。#!/usr/bin/env bash # 批量執(zhí)行器從文件逐行讀取主機(jī)并執(zhí)行命令 # 用法: batch_exec.sh 主機(jī)列表.txt [命令] set -Eeuo pipefail HOSTS_FILE${1:?必須指定主機(jī)列表文件} CMD${2:-uptime} if [ ! -f $HOSTS_FILE ]; then echo [ERROR] 文件不存在: $HOSTS_FILE 2 exit 2 fi # 逐行讀取跳過(guò)空行與 # 開(kāi)頭的注釋行 while IFS read -r host || [ -n $host ]; do case $host in |\#*) continue ;; esac echo $host ssh -o ConnectTimeout5 -o BatchModeyes $host $CMD done $HOSTS_FILE這段代碼里有三個(gè)關(guān)鍵點(diǎn)。第一IFS禁止行內(nèi)字段分割保證一行內(nèi)容完整進(jìn)入host變量不會(huì)被空格切開(kāi)。第二|| [ -n $host ]處理最后一行沒(méi)有換行符的情況避免最后一個(gè)主機(jī)被漏掉這是一個(gè)非常隱蔽的問(wèn)題。第三用case匹配空行和#開(kāi)頭的注釋行讓主機(jī)列表文件可以直接帶注釋方便維護(hù)。-o BatchModeyes讓 ssh 在無(wú)法交互時(shí)直接失敗而不是掛住配合ConnectTimeout5能避免批量執(zhí)行卡死。5. 生產(chǎn)環(huán)境跑這279個(gè)腳本5類避坑與排查記錄把腳本從“能跑”變成“敢在凌晨三點(diǎn)讓它自己跑”要過(guò)的坑比想象中多。下面這幾類是我在多個(gè)環(huán)境里反復(fù)踩過(guò)的按出現(xiàn)頻率從高到低排。5.1 現(xiàn)象腳本報(bào)“No such file or directory”但文件明明在這是 Windows 編輯腳本后最常見(jiàn)的翻車(chē)現(xiàn)場(chǎng)。你從 Windows 上傳到 Linux腳本第一行是#!/usr/bin/env bash執(zhí)行時(shí)卻報(bào)No such file or directory或者提示/usr/bin/env bash^M。原因很簡(jiǎn)單文件是 CRLF 換行bash 解釋器把回車(chē)符當(dāng)成了命令或路徑的一部分。解決方法是把所有腳本批量去掉\r# 批量把 CRLF 轉(zhuǎn)成 LF find . -name *.sh -exec sed -i s/\r$// {} \; # 驗(yàn)證是否還有殘留回車(chē) cat -A bin/disk_check.sh | grep -n \^M || echo 沒(méi)有殘留 ^M絕大多數(shù)腳本集合下載后是壓縮包不會(huì)強(qiáng)制轉(zhuǎn)行。如果你在 Windows 上用編輯器改過(guò)腳本改完一定記得轉(zhuǎn)回 LF。sed -i s/\r$//只去掉行尾回車(chē)不影響文件內(nèi)容里的其他字符。cat -A是驗(yàn)證用的重要工具^(guò)M就是回車(chē)符的顯示形態(tài)。5.2 現(xiàn)象中文輸出亂碼腳本里寫(xiě)的中文注釋全變成“錕斤拷”某些腳本里帶中文提示或日志說(shuō)明運(yùn)行環(huán)境語(yǔ)言環(huán)境不一樣就會(huì)出現(xiàn)亂碼。原因不是腳本本身壞了而是終端或機(jī)器的 locale 與腳本編碼不匹配。解決方向有兩個(gè)。一是統(tǒng)一把腳本編碼設(shè)成 UTF-8二是運(yùn)行腳本前導(dǎo)出語(yǔ)言環(huán)境# 在 /etc/profile.d/ 或 ~/.bashrc 里固定語(yǔ)言環(huán)境 export LC_ALLC.UTF-8 export LANGC.UTF-8注意不要把LC_ALL隨便設(shè)成en_US.UTF-8因?yàn)榉?wù)器上不一定裝了對(duì)應(yīng)的 locale 包硬設(shè)反而會(huì)在某些命令里報(bào)錯(cuò)。C.UTF-8幾乎每個(gè)發(fā)行版都有。你接手腳本庫(kù)時(shí)可以先跑file 腳本名看編碼如果是ISO-8859或GBK再考慮要不要轉(zhuǎn)換。5.3 現(xiàn)象腳本依賴的命令本機(jī)沒(méi)有跑一半就退出279個(gè)腳本里會(huì)有不少依賴外部命令最典型的是mysql、jq、bc、getopt。內(nèi)網(wǎng)機(jī)器不一定允許隨便裝包。我見(jiàn)過(guò)有人在生產(chǎn)機(jī)器上因?yàn)闆](méi)有jq而臨時(shí)把 JSON 解析腳本改成grep sed這種做法短期可行但不好維護(hù)。更好的做法是先做依賴檢查和降級(jí)方案# 依賴命令缺失時(shí)的優(yōu)雅退出 if ! command -v jq /dev/null 21; then echo [WARN] jq 未安裝跳過(guò) JSON 解析功能 2 exit 3 fi這類腳本最關(guān)鍵的是“提前退出”而不是“跑到一半崩掉”。退出碼用3這類業(yè)務(wù)碼而不是127的 command not found方便上層平臺(tái)區(qū)分原因。如果你確實(shí)要跑一個(gè)必須依賴某命令的腳本那就老老實(shí)實(shí)裝依賴不要用 sed 硬解析 JSON那會(huì)讓后續(xù)維護(hù)成本失控。5.4 現(xiàn)象腳本里有 rm 刪除不知道會(huì)刪到哪腳本合集里肯定有一批帶rm -rf或find ... -delete的清理腳本。這類腳本風(fēng)險(xiǎn)最高。不要以為作者寫(xiě)對(duì)了就不會(huì)出事路徑拼錯(cuò)一個(gè)字符就可能是災(zāi)難。我的處理習(xí)慣是拿到腳本后先做一次刪除動(dòng)作審計(jì)再?zèng)Q定要不要上生產(chǎn)。# 先列出腳本里所有刪除動(dòng)作只讀審計(jì) grep -nE rm(-rf)?\s|find\s.*-delete bin/*.sh這一步不執(zhí)行刪除只是把風(fēng)險(xiǎn)點(diǎn)列出來(lái)??吹絩m -rf時(shí)先確認(rèn)它的目標(biāo)路徑是否由固定值或參數(shù)控制再看有沒(méi)有前置的目錄存在性判斷。比如rm -rf $LOG_DIR/*和rm -rf $LOG_DIR完全是兩碼事前者刪文件后者連目錄一起刪。腳本里如果出現(xiàn)絕對(duì)路徑寫(xiě)死的刪除并且沒(méi)有參數(shù)保護(hù)我一般會(huì)改成相對(duì)路徑加變量甚至直接停用。5.5 現(xiàn)象定時(shí)任務(wù)里腳本不輸出退出碼為0但什么都沒(méi)干腳本手動(dòng)跑正常放進(jìn) crontab 之后要么不執(zhí)行要么執(zhí)行了但日志找不到。最常見(jiàn)的兩個(gè)原因一個(gè)是 cron 環(huán)境里的 PATH 和你交互終端里的 PATH 不一樣腳本里用的命令找不到另一個(gè)是腳本輸出重定向到某個(gè)不存在的目錄cron 直接丟棄輸出。# 在腳本頂部固定 PATH 和關(guān)鍵變量 export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export TZUTC把 PATH 寫(xiě)死在腳本頂部而不是依賴用戶環(huán)境是讓腳本能在 cron 里穩(wěn)定運(yùn)行的底線操作。除了 PATH還要檢查腳本里有沒(méi)有用相對(duì)路徑cron 的工作目錄默認(rèn)是用戶家目錄相對(duì)路徑很容易失效。日志文件盡量用絕對(duì)路徑并確保腳本運(yùn)行時(shí)日志目錄已經(jīng)存在。6. 把279個(gè)腳本變成自己的養(yǎng)成“注釋即文檔、模板即復(fù)用”的小習(xí)慣腳本庫(kù)跑通只是第一步真正讓這279個(gè)腳本產(chǎn)生長(zhǎng)期價(jià)值的方式是把它拆成自己能復(fù)用的模板而不是讓一個(gè)龐大的合集一直占據(jù)磁盤(pán)。我現(xiàn)在的維護(hù)方式很簡(jiǎn)單所有腳本只要經(jīng)過(guò)改造就把用法注釋寫(xiě)成一兩行并保持統(tǒng)一的參數(shù)風(fēng)格。6.1 給每個(gè)腳本加 usage 函數(shù)替代散落的 echo我習(xí)慣在每個(gè)腳本開(kāi)頭加一個(gè)usage()函數(shù)把接受的參數(shù)列出來(lái)再在主邏輯里判斷$#是否足夠。這種做法的收益很直接三個(gè)月后你回來(lái)看腳本不用靠回憶別人接手時(shí)也不用打開(kāi)正文讀一遍。#!/usr/bin/env bash set -Eeuo pipefail usage() { cat EOF 用法: $(basename $0) 日志目錄 [保留天數(shù)] 示例: $(basename $0) /var/log/nginx 14 EOF exit 2 } [ $# -lt 1 ] usage LOG_DIR$1 KEEP_DAYS${2:-7}6.2 從279個(gè)腳本里抽3個(gè)模板而不是背誦所有腳本把這個(gè)合集堅(jiān)持用了三個(gè)月之后我最大的心得是不要試圖記住每個(gè)腳本而是總結(jié)出三個(gè)自己最常用的模板例如“參數(shù)校驗(yàn)加退出碼加輸出規(guī)范”的巡檢類模板、“環(huán)境變量加默認(rèn)值加日志切割”的清理類模板、“while read加跳過(guò)注釋加超時(shí)控制”的批量操作類模板。遇到新需求時(shí)先在模板上改而不是翻合集從頭找。6.3 驗(yàn)證腳本回歸改一行之后跑一次它的反例每次改動(dòng)腳本之后我習(xí)慣跑它最容易出錯(cuò)的反例比如不傳參數(shù)、傳空目錄、把閾值設(shè)成0。驗(yàn)證一遍不是為了說(shuō)服自己它能跑而是確認(rèn)失敗路徑是可預(yù)期的。這個(gè)習(xí)慣救過(guò)我一次日志切割腳本改完保留天數(shù)后當(dāng)天晚上定時(shí)任務(wù)跑完沒(méi)誤刪就是因?yàn)樘崆皽y(cè)了“目錄不存在”和“文件為空”這兩種情況。一套腳本敢用多久不取決于它當(dāng)時(shí)寫(xiě)了多好而取決于你改它的時(shí)候有多穩(wěn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩免费人妻色情网站| 射丝袜高跟鞋99| 日本一区二区成人在线| 色噜噜人妻av中文字幕| 久久99人妖视频国产| 美女诱惑在线一区| 国产懂色精品国产av| 亚洲男人天堂av| 旡码电影特区| 99热99re超碰精品| av线电影| 日本高清视频在线观看黄已三辽| 91超碰人人操| 96麻豆精品一区二区三区| 男人的天堂亚洲| 亚洲欧洲无码bt精品合集| 亚洲色图图片| 97伊人超碰| 精品色色| 性爱Av免费| 久久男人| 熟女久久| 久久久久女教师免费一区 | 日韩激情啪啪| 午夜福利视频在线一区| 亚洲乱妇p22| 亚洲美欧999| 国产精品秘 福利姬在线观看| 性爱乱伦视频免费| 91国产丝袜白虎| 欧美A√综合网| 青青草日韩无码| 免费精品无码一级毛片牛牛影视| 97精品97久久| 真实高潮91| 激情综合五月婷婷| 亚乱色| 欧美天天综合网版| 久久超碰国产一区二区三区| 深夜激情| 啊啊啊好大好深| 精品中文日韩字幕视频| 欧美大片一区二区三区| 国产 大胆 对白| 久久鲁夜| 亚洲情色图片区| 欧色性第一页| 日韩AV电影网站| 国产中文大片资源中文字幕| 一起草日韩| 久久性爱视频免费看| 三及片网站| 欧美女同在线| 91亚洲欧美激情| 啊啊啊啊啊好大好舒服想要| 欧美天堂亚洲电影院一区在线播放| 亚洲欧洲第二视频在线观看色图| 日韩中文9| 99re69| 天美一区在线| 午夜a成v人电影| 色欲av国内精品久久久久久| 精品人妻一二三| 深喉吞精| 国产三级多多影院2022国产AA一级毛片无码 | 蜜臀久久久国产| 男人的天堂2000| rivers-china.com| 国产熟女免费观看久久| 99.色网| 国产精品。| 久久九九热| 激情小说亚洲图片| 校园春色五月天| 亚洲精品性爱片| 手机看片1024你懂的国产| 亚洲精品 大香蕉| 欧美国产有色电影| 伊人天天久久动态图| 日韩无码三级影院| 国产高清不卡视频| 久久丝袜| ..日韩av毛片精品久久久| AV九九| 色五月首页| 色色色欧美| AV高清一区| 五月天人妻综合| 日本熟女不卡视频| 91高清无码下载| 性欧美另类高清| 日韩一区二区熟女| 在线亚洲丝袜视频网站| 少妇综合网| 人妻一区二区三区四区视频| 丰满美女一级毛片在线播放| 熟女乱伦二区| 一本大道青青| 久久最新免费视频23| 久久这里精品国产99丫e6| 熟妇国产免费一区| 欧美激情性久久久久久| 中文字幕在线观看AV| 久久视频,这里只有精品| 国产强奸乱伦第1页| 九九探花视频在线观看| 中文幕97| 俺去俺来也在线www| AV中文字幕剧情1区2区3| 国产第12页| 91色图片| 国产精品日韩在线一区| 九九精品美女高溯喷水| 极品白嫩美少妇在地板上位骑射淫水泛滥| 欧洲天天在线| 亚洲男人天堂av| 色九九九九久| 好吊色青靑草| www欧美性爱| 久草成人福利导航| 久久9久| 欧美性爱在线无码| 亚洲偷拍欧美激情| 99久久久久久亚洲精品不卡| 欧美综合色站| 操逼操逼逼操操逼91| 午夜精品久久久久| 日本成a人v网站在线观看| 欧美男女午夜啪啪| 久久草草亚洲蜜桃臀| 精品国产网站| 麻豆成人AV| 国产四虎在线| 人人做天天爱| 亚洲drav色图| 免费看日产一区二区三区| oumeizonghese,www| 久久精品中文字幕无码l| 在线观看啊啊啊啊啊| 超碰在线国产| 亚洲欧美另类小说| 日日橹狠狠爱欧美超碰| 国模吧 一区二区三区| 欧亚 另类 久| 日本伦理一区二区| 亚洲av影院在线观看| 日本精品加勒比海一区| 黑操B| 天天看天天日| 久久久免费懂色| 狠狠狠狠狠干| 亚洲精品一区二区精品| 99这里都是精品| 亚洲图片婷婷五月天| 九一性生活免费视频| 人人透人人操| 久久久五月天| 精品人妻中文字幕高清| 操老熟女AV| 国产性爱在线视频一区二区| 日日AAvv| 99九九久久| 久草福利在线资源站| 天天干电影| 天天天天天天天天综合| 涩五月婷婷| 一个国产在线综合网站| 久久同城AV| 色色色999| 1769一区| 欧美激情专区| 超碰导航97| 人妻大相焦在线| 精品久久視頻在线| www.人人cao| 黄人人操人人操| 99久在线精品99re8蜜桃| 麻豆久久久久久久久丝袜| 国产福利av精彩对白| 无码137片内射在线影院| 2020中文字幕在线| 久久久网一区| 亚洲色图 图片| 四虎 精品 WWW| 久久久久婷婷| 日本www操操操| 国产精品99精品视频网站| 四虎av在线| AV色五月天| 免费农村成人少妇人妻Aa一区二区视频| 日韩精品永久在线观看| 黄片免费看黄片免费看| av婷婷色婷婷色六月| 亚洲图片激情综合另类| 岛国视频免费在线观看| 国产乱伦亚洲| 乱伦a片视频| 欧美日韩插逼视频| 在线a亚洲视频播放在线| 欧美乱欲| 男女无套 免费网站| 性综合网| 操逼视频色| 国产午夜福利电影免费在线观看 | 国产精品亚洲一级av第二区| 乱伦a片视频| 日韩在线欧美精品一区二区| 99热99在线播放激情| 欧美激情综合色综合啪啪五月| 乱伦Av网| 大香交伊人网| 天美国产精品| 亚洲av热热色| 婷婷丁香五月综合| 五月激情综合网| 99视频只有精品| 91久久婷婷| 九九碰九九爱97超碰| 在线观看综合精品亚洲| 开心五月婷婷激情| 色97| 亚洲熟女乱色一区二区三区久久久 | 加勒比色99999| 91大香蕉伊人| 欧美色女人| 影音先锋日本乱伦| 黄片免费久久久久久久| 免费看毛片操穴| 安徽熟妇视频| 亚洲日本天堂| 欧美色图电影| 岛国激情视频在线观看| 69精品久久久久中文字幕| 中文字幕性感少妇av| 天堂精品在线| 亚洲美女色图| 夜夜久久久| 大JI巴好深好爽又大又粗视频| 欧美福利视频啊啊啊啊| 欧美精品日韩久久久九| 成人无码在线超碰网| 思思热影视| 天天日天天插| 97在线无精品| 亚洲天堂男人网| 免费自拍三级综合| 久久免费精彩视频| 久久精品无码熟妇一区二区三区视频导航| 精品999999| 三级特黄60分钟播放| 女人高潮大叫一级毛片| 欧美第38页| 久久久成人免费av电影| 8x福利精品第一福利视频导航| 亚洲天堂无码| 91撸色网 玖玖网 欧美| 国产激情在线| 黑人精品成人一区二区三区| 99操| 色妇综合网| 欧亚成人| 欧美久久久15P| 色97干| 色色福利| 国产精品一区二区后入| 国产精品久久久久久照片| 男人天堂2012| 90后后入| 新版天堂中文资源8在线| 欧美 传媒 麻豆 日韩 偷拍| juliaann欧美丝袜办公室| 中日亚韩免费视频| 男人久久精品| 韩日色费| 激情亚洲天堂| 国产资源中文字幕在线| 老色69| 91中文字幕制服丝袜免费视频| 九月激情婷婷| 欧美成人综合| 大屁股人妻女教师撅着屁股| 东京热亚洲一区二区| 人妻 欧美亚洲| 国产AV久久野战精品| 日日夜夜骚| 成人一级二级| 久久美女国产| 熟女色图在线| 高清有码一区二区| 天天天天天超碰| 100啪啪视频大全| 四虎永久在线精品免费网址| 97视频在线播放| 98色网| 精品免费囯产一区二区三区| 中文字幕黄色片| 免费精品AB| 欧美成人黄网色网站| 任你干在线视频| 国模无码一区二区三区在线| 成人区人妻精品一| 日日日日日| 神马久久午夜| 97硬碰| av强奸乱轮| 欧美韩日精品资源| 日韩一级成人毛片免费观看 | 国内一级精品| 欧美 日韩 国产传媒| 99婷婷一区二区| 天天干天天日天天射黄色大片| 日本国产欧美一区三区二区| 中国小夫妻勾搭露脸淫荡对白| 大香蕉黄色一级片免费看| 国产白丝在线| 啊v视频在线观看| 午夜精品久久久久久久第一页按摩| 性爱综合网| AVE乱伦| 偷拍综合亚洲| 后入 亚洲 美女 射| 日本性爱视频一级| 欧洲精品区| 91丨九色丨国产打屁股| 日韩成人精品| 99re这里只有精品2| 天天做天天爱天天高潮| 99精品视频在线观看免费| 亚洲综合色图欧美| 日韩激情视频| 欧美日本天堂| 99热超碰在线| 一区二区三区亚洲| 天天综合青苹果| 天天舔九色婷婷| 色九区| 一二三四视频中文字幕在线看| 国产精品色约约| 91亚·色| 亚欧国产无码精品在线| 国产午夜福利电影免费在线观看 | 日韩色欲久久一二三四区| 97资源站日韩| 欧美韩日精品资源| 有码色中文字幕在线观看| 凹凸视频特色日本特黄| 爱av免费| 在线色导航| 亚洲另类春色| 精品丰满熟妇人妻一区| 老女人老91妇女老热女| 精品久久久九九九孕妇| 色狠狠综合| 国产精品一区av在线| 蜜臀99久| 国产精品禁久久久精品| 久久大精品乱码视频人妻熟女| 婷婷五月天小说| 约操熟妇| 少妇人妻好深太紧了vr91| 69一区二区三区| 欧美97se| 蜜臀99久久精品| 欧美与日韩97| 97亚洲欧美日韩| 亚洲丝袜B诱惑| 成人短视频在线观看| 91快色色色色色| 成人av在线播放| 人人搞人人插人人操| 综合亚洲欧美| 人人操人人肉久久精品| 78m啪啪啪| 夜夜嗨免费视频| 成人片视频| 91欧美丨精品丨入口| 97色爱| 国产黄a三级三级三级av在线看| 亚洲天堂久久| 超碰97人人cao| 久草精品视频| 另类图片综合| 东北女人av| 国产精品成人午夜福利| 久草资源在线视频官方总站日韩丝袜美腿 | 粉嫩国产精品久久粉嫩| 国产精品色片一区二区| 欧美组图日韩亚洲中文字幕| 啊啊啊好舒服好爽啊啊啊视频| 中文字幕 国产区| 亚洲影视综合| 日本精品国产视频| 天天摸天天插天天日| 九九九九97| 欧美情色亚洲| 久久精品国产99国产精品亚洲| 性爱1区| 啊啊啊97视频| 一类无码操逼视频| 欧美A片中文字幕| 一区二区三区美女超清| 伊人丁香五月婷婷| 性爱乱伦一区| 久久久草成人网站久久久草成人久久久草久久久 | 大香蕉欧美伊| 久久久精品久久| 超碰综合97在线| 97国产精品一区二区传媒公司| 亚洲人妻爽爽爽| 国产在线综合福利网站| 亚洲 日韩 丝袜 熟女 变态| 任你爽视频| 内射中出日韩在线观看视频| 最新9久久久9免费视频| 亚洲丝袜少妇在线| 亚洲激情在线观看一区| 91综合在线| 香一区二区三区| 91丝袜在线视频| 伊人欧美大香蕉视频| 久久免费少妇| 国模不卡| 国产精品久久久视频| 91综合国产精品| 国产999精品久久久| 网站A V在线| 欧美性爱一级操| 日韩美女久久一区二区三区| 91影视亚洲| 中文久久久| 日韩AV熟女乱伦| 天天干天天做| 97视频新免费| 摸奶性爱视频网站在线免费播放| 探花精品视频| 天天看高清麻豆| 香蕉综合网| 日韩av影片在线观看| 蜜臀AV一区二区三区激情综合| 亚欧美色图| 国产三级资源在线观看| 麻豆天美久久91| #NAME?| 一级毛片久久久久久久女人18| 99性爱视频| 91精品婷婷国产综合久久| 在线有码中文字幕| 亚洲国产精品久久久久婷婷青年| 色偷偷2020免费视频播放| 国产欧美精选激情视频| 亚洲影院小综合| 啊啊啊啊好爽好舒服一区二区易域| 国内毛片婷婷六月色| 欧美日韩理论一区| 国产毛片毛片4p懂色| 最新欧洲欧美日本激情网站| av橘色网站| 欧美麻豆成人同性GⅤ在线| 在线观看午夜婷婷久久久久清性观看| 91看黄片| 久久国产精品,久久国产| 欧美激情一区| 青青草原狼av| 夜草网站| 台湾佬中文娱乐自偷自拍| 久久久久99999| 婷婷色导航| 欧美情色亚洲| 日韩精品99999| 亚洲人久久久久日| 天天欧美色| 日本成人在线不卡一区二区三区| 欧美综合站| 91高潮| 97人肏| 天堂v无码免费视频| 97AV爱| 神马九九| 亚洲污一污二| 亚洲成人性爱在线观看| 99精品综合久久久久五月天| 97福利视频| 啊啊啊啊操死我| 色香阁在线| 男女猛烈无遮掩视频免费软件| 大香蕉中文aV在线| 精品免费囯产一区二区三区 | 日操粉逼逼| 欧美亚洲涩涩| 久久精品性| 欧美亚洲丝袜人妻制服中文99| 五月天激情四射| 91天堂网| 西西美女视频网| 国产精品无码在线| 91精品网站| 中文字幕少妇色 | 欧美狠狠操| 午夜超爽| 综合五月天| 肉丝网站91| 欧美不卡二区| 加勒比综合88| 五月开心久久AV官网| 天天色播| 亚洲,日韩,欧美,成人播放| AV男人天堂网| 免费看污网站| 日本在线不卡v二区| 啊啊啊好想要| 欲色啪| 国产农村妇女精品一二区| 精品人妻一区二区三区不卡断 | 久久久亚洲Av| 九九热精品视频六| 日韩无码AB| 天天看特黄的免费网站| 高清无码国产亚洲| A一区片| 韩国嫰模上门援交视频| 蜜臀精品1区2区| 欧美麻豆成人同性GⅤ在线| 91色色网站| 中文字幕精品三级久久久| 美女露胸露奶头| 一区二区三区激情在线观看| 情趣丝袜无码操逼视频| 精品成人无码| 一本一道久久综合久久| 欧美97日韩| 天天日天天爽| 国产欧美日韩精品中文| 日本人妻伦在线中文字幕| 国产免费小视频| 日本男人插女人的逼黄色| 精品久久久久久亚洲| 夜间福利片1000无码| 中文字幕一品色图| 欧美性生活免费网| 91欧美丝袜| 麻豆国产成人精品| A啊啊在线观看| 日韩99神马视频播放片在线播放| 色色丁香| 九月婷婷久久| 婷婷久久五月| 色色色99| 99久久久| 日日日日日| 91丨九色丨43老版熟女| 九九性爱网| 日韩av在线免费网站| 视频黄色国产一级| av天堂天堂av日韩| 911av网站免费观看| 色哟哟AⅤ| 97超碰人人模人人拍人人| 91亚洲综合| 黑人娇小av在线播放| 国产精品久久久久久久久久久久久久吹 | 欧美久久草熟女| 狼天天狼天天大香蕉| 欧美精品四区| 久无码| 久久久久久久九九九九九九| 日本三级人妻a人妻一在线| 婷婷伊人一区| 成人精品一区二区三区| 久久久免费懂色| 日韩人人精品| 人妻91少妇| 免费试看60秒| 日本黄色大片一级视频免费麻豆| 精品久久久高清无码| 日韩一区二区高清在线观看的| 你想操日本小逼吗| 激情五月综合| 日韩AV色图| 中文字幕人乱码中文字的预防方法| 91欧美性| 欧美九九九九九| 午夜国产综合视频在线观看| 日本丝袜人妻内射| 久久激情视频| 麻豆天美传媒在线视频天堂| 伊人少妇久久久| 蜜臀久久99精品久久久久久婷婷| 国产精品无码成人精品| 日韩亚洲Av人人夜夜澡人人爽| 69精品人人人人| 区一在线观看| 欧美日韩亚洲少妇寂寞影院正在播放 | 亚洲97在线观看| 亚洲高清无毛一区二区| 秋霞曰韩R级| 操人妻少妇中文 | 一区二区三区 日韩欧美| 五月丁香综合激情| 夜草欧美| 天天肏天天干| 最新中文字幕在线亚洲| 成人五月香网在线| 亚洲青青草| 国产乱伦视频污| 激情久久久| 宗合情欲网| 凹凸 69堂 在线播放| 伊人专区一区二区三区| 亚洲成人网站在线观看| 97欧美精品综合| 激情综合网五月婷婷五月天| 欧美亚洲一级在线观看| 婷婷激情啪啪| 久草老司机| 无码直播久久久| 性爱综合网| 东京热大香焦| 操逼天美3区| 久久久蜜桃一区二区三区| 婷婷九月国产| 国产二区视频在线观看电影| 99中出在线| 九九九国产| 久久一级无码精品毛片6| 欧美日韩淫加| 亚洲天天操| 亚洲欧美国产日本一区二区三区| 欧美在线视频播放| 精品人妻中文字幕4399| 97爱欧美| 操国产逼| 亚洲综合网图| 1769一区| 日日干夜夜操视频h| 精品人妻一区二区三区日产| 天天综合精品| 色爱亚洲| 日韩精品99999| 欧美色图20P| www狠狠| 97日韩欧美亚洲| 熟女色综合久久| 亚洲偷91色| 国产欧美日韩精品中文| 欧美在线综合| 在线观看黄色电话| 黑人精品欧美一区二区蜜桃| 人妻熟女av国产网站| 91热色| 91精品大奶人妻| 亚欧美色图| 亚洲精品三| 亚洲综合在线91| 一二三区在线| 日韩无码一级黄色av片| 蜜奶av| 亚洲天堂一区二区久久| 日本熟妇精品九九| 色噜噜人妻丝袜a∨先锋影| 少妇九九九九| 免费观看欧美日韩操逼视频| 天美精品原创av片国产| 91精品成人| 婷婷午夜成人色中色| 亚洲天堂一区二区| 67914亚洲精品| 1000部熟女视频在线观看| 亚熟在线| 国产性爱乱伦AV| 欧美色图另类图片| 青娱乐 成人娱乐在线| 婷婷五月影院| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 丰满人妻一区二区三区在线| 亚洲精品国产无码高清| 久久精品综合| 九九九九88| 午夜无码精品免费看性色| 91痴汉| 欧美在线伊人色| 自拍偷拍 高清无码| 欧美丝袜91| 国产传媒美日韩av| 精品人人插人人操| 天天视频黄| 另类老少妇| 黄色乱论网站| 性爱av在线免费观看| 亚洲福利影院一区久久| 九九九草| 人妻在线中出视频| 激情专区综合| 久久久久96| 日韩人妻资源网| 综合网 欧美| 91neishe| 97无码视频在线播放| 亚洲欧美在线综合| 97精品国产97久久久久久免费| 好好的日:com久久九九| 超碰人人色| wwwxxx日本爽| 91老司机在线| 青青草女人天天干| 婷婷情色五月天| 91丝袜美女国产| 亚洲日韩美国人妻| 国产毛片片精品天天看视频| 日本熟妇自慰性高潮一区二区三区| 久久亚洲骚逼综合| 91日本在线观看| av在线不卡一区二区三区| 校园春色综合网| 精品十八在线观看| 国产人妻精品一区二区三区秋霞 | 国产青一二三| 五月婷婷六月激情| 欧美综合区| av无码av无码专区| 家庭乱伦国产| 免费家庭乱伦视频| 国产h小视频在线观看免费| 99热精品在线观看| 欧美亚洲清纯| 97网址97| 97精品在线| 亚洲精品一卡二卡三卡福利视频网站| 一区二区三区四区五区高清无码永久视频 | av无码精品久久久久| 中文字幕五月婷婷免费| 蜜乳AV免费观看| 高清有码一区二区| 亚洲国产美女久久久久| 亚洲 暴爽 AV人人爽日日碰| 美女啊啊啊啊啊| juliaann丝袜| 精品视频一二三中文| 中文字幕三四五区| 久这精品中文在线观看视频| 九九热国产| 国产精品国产精品国产| 国产日本一区二区三区蜜臀在线观看| 99999久久精| 午夜男人的天堂| 欧美在线天堂| 久久久久9999| 亚洲国产精品V?在线播放| 高清有码一区二区| 美女视频尤物网在线看| 噜噜噜在线视频| 欧美色性爱| 熟女被操视频网址| 屌逼麻豆| 无码人妻丰满熟妇奶水区毛片| 欧美色图偷拍另类| 蜜桃一区二区三区| 99精品综合久久久久五月天| 揉揉揉夜夜| 特色a在线上| 天天视频黄| 欧美日韩国产黄色片| 性爱乱伦一区| 偷拍伦理视频| 97视频620| 伊人视频| 啊啊啊好想要| 日韩精品碰碰| 我要看免费韩日黄片| 亚州宗合另类| 欧美日动态视频| 日韩欧美久久婷婷网站| 九七超碰| 在线中文字幕极品av| 26uuu欧美| 亚洲色图美腿丝袜| 99操逼| 精品国产91内射久久| 在线观看国产黄色| 91久久精品国产| 亚洲宗合网| 男人天堂欧美| 18禁网站在线播放| 欧美另类色| 超碰偷拍| 91亚洲色人| www.夜夜操| 97这里只精品| 久久精品一区二区一8| 综合操逼| 涩爱AV在线| 超碰色大香蕉| www.大香| 色噜噜国产在线| 亚州五月| 国产一区在线观看无码AV| 五月天伊人| 嗯嗯啊啊的视频| 亚洲自拍偷拍视频在线| 精品少妇一区二区三区在线视频| 色五月天AV| 91综合网站| 超碰成人国产| 97bbn| 国产精品黑人一区二区三区| 久久99久久99久久99人受| 欧美乱妇狂野欧美在线视频| 夜夜骑夜夜操| 天天日少妇逼AV| 97欧美色综合| 日韩国产欧美伦理在线| 熟妇人妻一区二区三区| 五月情色天| 亚洲综合色婷婷| 职场同事知名国产国产精品久久欧美日韩| 日韩视频精品在线观看| 97超碰jingpin| 精品免费囯产一区二区三区| 俺去俺来也在线www| 男人精品天堂一区| 欧美性爱免费短视频| 中文字幕亚洲欧美在线不卡| 女人久久久| 久久,精品一二三| 天天夜夜rb| 看一级黄色视频| 淫纸中9区| 日本女人操逼| 97色欧洲| www.99色| 97超碰中文在线| 亚洲 欧美都市激情| 五月天伊人网| 亚洲精品男人的天堂| 亚洲欧美97√| 天天弄天天操| 不卡在线观看视频| 日韩国产品视频中文字| 日韩福利电影网| 强上我不卡卡| 久久免费99精品久久久久久| 今日头条成人一区二区三区四虎精品| 亚洲性爱电影| 小草av不卡亚洲二区| 亚洲精品一二区| 91亚洲欧美综合高清在线| 欧美日韩香蕉| 国产一区二区在线看| 亚洲综合九九| 91老熟妇| www.99热在线只有精品| 亚洲三区视频| 超碰综合97在线| 婷婷综合| 亚洲国产美女久久久久| 躁躁日曰躁2020| 91成人精品在线播放| 亚洲欧美校园| 久久久啊啊| 国产探花精品在线| 青青草大香蕉视频| 97久久资源| 人妻丰满熟妇一区二区三| 操淫穴亚洲五月丁香| 9色在线| 欧美福利视频啊啊啊啊| 色偷综合| 国产在线76页| 国产一级不卡在线观看| 校园春色 亚洲| 曰本精品久久久| 亚洲成人美女无吗| 又大又大又大又粗爽高潮观看| 2019AV天堂| 午夜男女爽爽爽在线视频| 亚洲色图一区二区三区| 美女诱惑在线一区| 一区二区偷拍拍视频| 自怕偷自怕亚洲精品| 人妻激情视频| 亚洲综合小视频小说在线观看| 成年人一级黄色毛片大全在线观看| 国产99999| 亚州综合图片| 亚州精人品大香蕉| 激情网色| 成人五月天丁香激情综合| 久久中文字幕女同性恋一区| 免费看污网站| 99精品热| 国产精品999zyz| 一起草三级AV电影在线观看| 久久后入制服| aaa淫乱视频| 欧美天天插| 欧美久久伊人| 操逼天美3区| 亚洲97| 91天天综合在线| 欧美熟妇亚洲版| 大鸡吧尹人在线| 91久久婷婷| 免费作爱一级视频| 自拍偷拍国产欧美日韩韩| 欧美一区二区| 国产女主播视频在线观看| 欧美性色综合网| 私色综合网| 人人色人人操在线| 亚洲暴力强奸AV| 中文字幕日韩电影人妻| 亚洲久久久久| 欧美 亚洲| 四虎免费在线播放| 日韩八十路老熟女| 精品性爱久久视频| 久久AV无码1区2区3区| 91xingse| 国产久久一区二区午夜| a男人的天堂久久一级A毛片| 久久久久久久9| 欧美第一页性| 天天干人人干天天日97| 国产强奸乱伦第1页| 天天情欲宗合网| 97爱亚洲综合色| 高清不卡视频| 久久人妻四季| 欧美日韩夜夜| 天天欧美色| 五月天黄色av| 日日操免费视频| 欧美性天天影视| 九九综合九九综合| 日日噜噜夜夜久久亚洲一区二区| 强奸乱伦麻豆| 性无码专区2020| 亚州五月| 少妇高潮喷水无套久久久久久| 九九毛片这里只有精品| 久久九九国产精品| 欧美操逼熟女| 东北丰满熟女国产一区| 国产精品麻豆视频网站| 国模不卡| 草莓精品视频| 五月丁香啪啪网| 五月婷婷影院| 澳门人妻久久| 久久久久久91香蕉国产| av东京热男人的天堂| 精吧天堂| 日韩精品人妻中文字幕不卡乱码| 欧美日韩人妻精品一区二区三区| 亚洲资源吧| 色噜噜狠狠色综无码久久合欧美| 91黑丝在线| 亚洲人妻中文在线视频| 一区二区三区黄色片a| 国产精品一二三在线看| 极品尤物在线观看| 欧美拳交在线播放| 亚洲天堂第一页| 精品一二三区女同 | 美女性91| 老司机午夜精品视频| 久久久久免费看少妇A片特黄| 中文字幕交换人妻| 激情av| 国产久久久9999| 亚洲性综合| 女优大全 - 91n| A一区片| 韩国一级做A片免费的| 国内91熟女人妻丝袜天天精品视频在线| 四月丁香婷婷| 97视频新免费| 97超碰超碰| 91高清无码下载| 久久亚洲影院一区二区| 欧美激情久| 欧美天天干| 涩涩这里只有精品视频| 9l视频自拍9l九色成人| 97 超碰 人人做 人人爱| 亚洲一区操| 综合欧美日本三级| 欧美日韩中文亚洲v在线综合| 5278欧美一区二区三区| 久久久78| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 人人操,人人液| 熟妇的味道HD中文字幕| 色色99| 欧美影音在线| 啪啪综合网| 日韩少妇一区二区三区| 亚洲另类色图片| 91精品导航| 奇米四色影视777久久久| 99国产人成精品| 一区二区不卡免费| 成人小说另类在线| 67194国产| 试看60秒| 操婢日韩| 天天操av懂色| 91国产丝袜白虎| 377p欧洲日本亚洲大胆| 日韩97视频!在线| 91青青在线| 欧亚乱色熟女一区二区| 欧美亚洲一区二区久久久婷精品大包诱| 亚洲图片 欧美电影| 思思热久久成人| 色女综合| 又粗又长又大国产不卡| 天天插天天射| 久久精品91| 人人做天天爱| 亚洲国产精品久久久久婷婷青年| 天天日天天干天天摸天天操| 人妻81p| 99蜜桃臀亚洲成人在线观看| 无码一区免费在线不卡| 色婷婷五月天| 老熟女阿 国产91| 亚洲欧美国产其他二区| 久9爱经典视频| 日本操逼视频导航| 色超碰综合| 四虎国产精品永久地址入口| 诱惑人妻欧美一区在线播放| 最新日本中文字幕| 熟妇最新先锋一二三区| 蜜臀久久99精品久久久电影| 91 手机在线播放 绯色| 大香蕉中文在线| 日韩一区二区精品视频| 91第一页| 九色97| 无码人妻精品酒店| 久久99国产综合精品女同| 91天天综合| 人妻出轨一区二区三区| 久久久久久国产成人| 亚洲综合小视频小说在线观看| 18禁在线视频| 91久久国产综合精品| 天天操夜夜嗨| 国产蜜臀在线| 操人91| 亚洲欧美人妻| 美女大乳久久久久久久女人18| 九九视频黄色片| 东京热不卡视频| 久久久精品成人国产| 东京热91| 一区黄二区黄| 四虎影视永久在线免费| 91熟女.com| 色婷婷丁香五月天| 伊人国产成人av网站| juliaann丝袜大战黑鬼| av天堂天堂av日韩| 黑白配性爱AV成| 国语人妻精彩刺激| 久久精品国产亚洲妲己影视| 激情综合网一盗摄| 国产成人网址| 亚洲人成网站7777| 亚拍在线| 99热这里只有精品9| 无码不卡亚洲成?人片| 国产乱码精品久久久久久| 亚洲欧美国产其他二区| 久久久久久久性爱| 亚洲欧美国产中文字幕| 国产CHASE男男GAYGA 毛多色婷婷| 日韩熟女精一区二区三区不卡| 久久久久久久久久久久久久久乱码 | 97碰在线视频| 欧美日韩插逼视频| 2020中文字幕在线| 91黑丝少妇| 欧美一级黄片免费播放| 国产在线观看一区二区三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 91成人在线免费视频| 久久久精品网站| 亚洲色图自拍| 国产四虎在线| 免费一级毛片在线视频观看| 欧美精品成人一区二区在线观看 | 国产精品麻豆成人av| 国产黑白丝在线| 情色av电影| a网站免费观看| 操逼国产免费| 91w欧美| 91中文字幕在线观看| 亚洲AV不卡在线观看尤物| 97天堂| 人妻人人做人人澡人人爽欧美一区| 久久九色| 亚洲猛交| 欧美日韩亚洲电影| 午夜欧美J进J出白浆流出久久久| 大香蕉黄色一区| 久久东京伊人一本到鬼色| 97综合久久| 啪啪啪综合| 中出在线视频| 97精品97| 久久久久久久 九九九九九九九 | 亚欧美色| 91蜜桃传媒精品久久久一区二区| 污污污8888| 97国产精选| 97一区二压| 国产天天看| 九九九九九九亚洲| 中亚av| 九九这里只有精品| 女人高潮抽搐喷水视频网站| 少妇3P性爱自拍| 免费少妇一区二区| 人人弄人人摸| 嗯嗯啊啊好爽| 不卡在线观看视频| 丰满人妻一区二区三区四区| 91老妇女| 黄页网站成人免费| 天天综合站| 天天干1区2区在线| 日本天天干天天日一区| 夜夜操中文字幕| 久久亚码| 任你干在线视频| 骚女高跟AV在线| 久久久精品中文字幕麻豆| 在线情色电影 91大| 一本色道久久综合熟妇| 日韩不卡一二三四| 欧美一品道| 久久久久人| 日本 情色 1区2区3区| 综合色久欲| 天天干人妻视频| 亚欧美综合网| 久久少妇| 日韩精品中文字幕人妻| 极品欧美一区二区三区| 欧美自拍偷拍综合图片| 午夜超爽| 国产亚洲色婷婷久久99精品91葵花宝典| 免费看A片毛毛片在线播| 囯产操逼片| 91精品久久久久久综合五月天| 亚洲成人在线播放| 最新加勒比丝袜在线|