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

ARTICLE DETAIL

資訊詳情

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

Python自動(dòng)化運(yùn)維實(shí)戰(zhàn):從批量SSH到巡檢告警腳本

Python自動(dòng)化運(yùn)維實(shí)戰(zhàn):從批量SSH到巡檢告警腳本 講個(gè)在運(yùn)維圈很常見的場景凌晨三點(diǎn)某臺(tái)機(jī)器磁盤告警你第一反應(yīng)不是查監(jiān)控平臺(tái)而是挨個(gè) ssh 上去執(zhí)行df -h。我剛做運(yùn)維那會(huì)兒手底下二十多臺(tái)服務(wù)器每次巡檢、發(fā)版本、看日志全靠人肉登錄一天下來一半時(shí)間都花在重復(fù)敲命令上。后來痛定思痛把所有能固化的操作都改成了 Python 自動(dòng)化運(yùn)維腳本才慢慢把這種“救火式運(yùn)維”變成“躺平式巡檢”。這篇內(nèi)容不整虛的從 Python 環(huán)境怎么配、虛擬環(huán)境怎么建、常用庫怎么選到批量執(zhí)行命令、系統(tǒng)巡檢、定時(shí)任務(wù)全程按實(shí)際運(yùn)維場景寫你拿到就能照著改。純 Shell 也能寫自動(dòng)化但一旦碰到字符串處理、異常捕獲、多線程這種復(fù)雜邏輯Shell 寫起來特別難受Python 的優(yōu)勢就在這里。不管你是剛?cè)胄械男“走€是寫了多年 Shell 的老手只要想把“登錄服務(wù)器敲命令”變成“跑一條腳本出結(jié)果”這篇文章都值得花十分鐘看完。我會(huì)盡量把參數(shù)、坑、避雷方法都交代清楚。1. 環(huán)境準(zhǔn)備Python版本、虛擬環(huán)境與安裝庫的那些坑1.1 版本選擇不是越新越好先聊版本。很多新手上來就裝最新版 Python然后照著老教程寫代碼結(jié)果庫裝不上或者 API 對不上。自動(dòng)化運(yùn)維場景下的 Python我建議直接用 3.10 或 3.8 這種穩(wěn)定到不能再穩(wěn)定的版本而不是追新。原因很簡單運(yùn)維要的是可預(yù)測性生產(chǎn)環(huán)境跑著的腳本不會(huì)因?yàn)槟闶职W升級了一個(gè)大版本就自動(dòng)適配。你本地跑得歡到了服務(wù)器上 Python 3.6 直接報(bào)語法錯(cuò)誤這種事我見過太多次了。還有一條血淚教訓(xùn)系統(tǒng)自帶的 Python 不要?jiǎng)?。尤?CentOS 7 那批機(jī)器yum 依賴系統(tǒng)里的 Python 2.7你要是手賤把它升級或者替換了大概率 yum 直接廢掉到時(shí)候連包都裝不上。Ubuntu 22.04 自帶 Python 3.10裝上python3-venv和python3-pip就能用省事很多。在服務(wù)器上裝新 Python 時(shí)盡量用官方源碼編譯或者系統(tǒng)包管理器裝不要直接去覆蓋/usr/bin/python3。我的習(xí)慣是系統(tǒng)環(huán)境保持出廠狀態(tài)所有項(xiàng)目依賴都隔離走。1.2 venv虛擬環(huán)境運(yùn)維腳本的隔離區(qū)提到隔離就繞不開venv。你可以把虛擬環(huán)境理解成給每個(gè)項(xiàng)目單獨(dú)分一個(gè)小房間不同的項(xiàng)目有不同的依賴版本互相不干擾。運(yùn)維腳本雖然是腳本但依賴收斂同樣重要。你在一臺(tái)機(jī)器上給系統(tǒng) Python 裝了 paramiko下個(gè)月裝另一個(gè)工具不小心把 paramiko 升級了線上腳本可能就崩了。所以我固定操作是為運(yùn)維項(xiàng)目單獨(dú)建一個(gè) venv名字就叫ops裝什么都扔進(jìn)去跑腳本也全都用這個(gè)環(huán)境里的 Python 解釋器。創(chuàng)建方式很簡單python3 -m venv ~/venvs/ops source ~/venvs/ops/bin/activate pip install paramiko psutil建好之后把當(dāng)前環(huán)境里的依賴導(dǎo)出成requirements.txt方便在別的機(jī)器上復(fù)現(xiàn)pip freeze requirements.txt這里有個(gè)細(xì)節(jié)在 crontab 或 systemd timer 里跑腳本時(shí)source activate不一定生效所以別依賴激活狀態(tài)直接寫 venv 里 Python 的絕對路徑比如~/venvs/ops/bin/python。關(guān)于這個(gè)坑后面第 5 章還會(huì)細(xì)說。1.3 pip安裝時(shí)報(bào)錯(cuò)怎么破安裝庫最容易翻車的不是庫本身而是環(huán)境?!癰ash: pip: command not found” 這個(gè)報(bào)錯(cuò)在新裝機(jī)的 Linux 上非常經(jīng)典。解決辦法不是找什么 get-pip.py 腳本而是先看系統(tǒng)包管理器里有沒有對應(yīng)的包Debian 系直接apt install python3-pipRHEL 系用yum install python3-pip。裝完之后我仍然建議只在 venv 里用 pip。另一個(gè)常見問題是權(quán)限。直接用sudo pip install xxx到系統(tǒng)目錄短期看著爽長期就是給自己埋雷。系統(tǒng)包管理器管理的 Python 包和 pip 裝的包經(jīng)常互相沖突升級一個(gè)庫可能帶崩另一個(gè)工具。我現(xiàn)在的原則很明確系統(tǒng) Python 只用于系統(tǒng)工具業(yè)務(wù)腳本一律進(jìn) venv。如果碰到編譯類安裝失敗比如error: command gcc failed with exit status 1通常是缺 Python 頭文件。Debian 系裝python3-devRHEL 系裝python3-devel裝完再重新 pip install 就好。這個(gè)問題在新版 paramiko 或 cryptography 編譯的時(shí)候特別容易觸發(fā)別慌先把頭文件補(bǔ)齊。至于 pip 下載慢那就配國內(nèi)鏡像源執(zhí)行一次就行pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/現(xiàn)在很多云主機(jī)在境內(nèi)不配鏡像的話裝個(gè)大一點(diǎn)的庫能等半天配置之后速度立刻就不一樣了。2. 入門庫速查先搞清楚你要處理什么場景2.1 標(biāo)準(zhǔn)庫已經(jīng)能解決一半問題說到 Python 做自動(dòng)化運(yùn)維很多人第一反應(yīng)是裝這個(gè)庫裝那個(gè)庫但其實(shí)標(biāo)準(zhǔn)庫已經(jīng)能解決一半以上的問題。比如shutil一個(gè)copytree就能把整個(gè)目錄連文件結(jié)構(gòu)復(fù)制過去比 Shell 里各種find、cp拼接要可靠得多。再比如glob掃描一批符合模式的日志文件幾行代碼就能做歷史日志歸檔。這些標(biāo)準(zhǔn)庫不需要額外安裝正因?yàn)槊赓M(fèi)反而容易被忽略。還有一個(gè)被低估的是subprocess。想在 Python 里執(zhí)行外部命令、拿返回結(jié)果標(biāo)準(zhǔn)做法是import subprocess result subprocess.run([df, -h], capture_outputTrue, textTrue) print(result.stdout)注意這里傳入的參數(shù)是一個(gè)列表而不是一整條字符串。用列表傳參可以避免很多 Shell 注入和轉(zhuǎn)義問題。有些教程為了省事直接寫shellTrue這在自動(dòng)化場景里其實(shí)有風(fēng)險(xiǎn)因?yàn)橐坏┟罾镉胁豢尚诺耐獠枯斎肴菀壮鰡栴}。運(yùn)維腳本里如果必須拼接命令我會(huì)先確認(rèn)命令來源絕對可信否則盡量用列表形式。2.2 遠(yuǎn)程操作三件套paramiko、fabric、netmiko遠(yuǎn)程管理是自動(dòng)化運(yùn)維的重頭戲。如果只想寫個(gè)腳本連幾臺(tái)機(jī)器跑點(diǎn)命令paramiko是最直接的。它在底層實(shí)現(xiàn)了 SSH 協(xié)議給你封裝好 SSHClient 和 SFTP 兩個(gè)接口既可以執(zhí)行命令也能傳文件。fabric則在 paramiko 之上又包了一層任務(wù)和上下文管理適合做部署動(dòng)作但坦白講fabric 的 API 變化比較快新老版本用法差異大新手容易對著老教程踩坑。netmiko是面向網(wǎng)絡(luò)設(shè)備的專門處理設(shè)備 CLI 的交互細(xì)節(jié)比如分頁符、命令回顯長度這類問題。你要維護(hù)一堆交換機(jī)路由器用 paramiko 裸連會(huì)很痛苦因?yàn)榫W(wǎng)絡(luò)設(shè)備經(jīng)常有分頁和交互提示符netmiko 把這些細(xì)節(jié)都處理好了。這幾個(gè)庫的定位差異我用一張表格列出來庫定位適用場景上手難度paramikoSSH 協(xié)議庫服務(wù)器批量命令、文件傳輸中fabric基于 paramiko 的任務(wù)封裝部署腳本、遠(yuǎn)程批量執(zhí)行中netmiko網(wǎng)絡(luò)設(shè)備交互庫交換機(jī)路由器配置巡檢、批量下發(fā)低中ansible自動(dòng)化引擎/框架配置管理、多主機(jī)編排偏高Ansible 其實(shí)不算庫它是一個(gè)獨(dú)立的自動(dòng)化框架用 Python 寫的也支持插件擴(kuò)展。如果你的環(huán)境允許免密 SSH寫 playbook 確實(shí)很爽但如果只是臨時(shí)處理幾臺(tái)機(jī)器Python 腳本反而更輕不用引入一套新的編排語法。2.3 系統(tǒng)信息采集不用再讀 /proc寫巡檢腳本時(shí)系統(tǒng)信息采集是最基礎(chǔ)的活兒。傳統(tǒng)做法是去讀/proc/loadavg、/proc/meminfo這些文件或者調(diào)free、df、uptime命令再解析輸出。不是不行就是麻煩而且不同系統(tǒng)輸出格式有差異。我后來的選擇是直接用psutil這個(gè)庫把所有系統(tǒng)指標(biāo)都封裝成了函數(shù)跨平臺(tái)表現(xiàn)一致。import psutil print(psutil.cpu_percent(interval1)) print(psutil.virtual_memory().percent) print(psutil.disk_usage(/).percent)psutil還能拿進(jìn)程列表、網(wǎng)絡(luò)連接數(shù)做告警和排查非常順手。后面第 4 章的健康巡檢腳本我會(huì)基于它寫一個(gè)完整的例子。2.4 通知與調(diào)度的庫怎么選腳本跑完總要讓人知道結(jié)果。標(biāo)準(zhǔn)庫里的logging負(fù)責(zé)把日志寫到文件smtplib負(fù)責(zé)發(fā)郵件。定時(shí)調(diào)用不推薦在 Python 進(jìn)程里自己做除非是開發(fā)環(huán)境臨時(shí)用。生產(chǎn)環(huán)境直接用 crontab 或者 systemd timer 更穩(wěn)妥因?yàn)椴僮飨到y(tǒng)層面的調(diào)度不依賴你的腳本進(jìn)程一直活著。進(jìn)程內(nèi)調(diào)度方案像schedule、apscheduler更適合開發(fā)環(huán)境或 Windows 服務(wù)器上不方便配計(jì)劃任務(wù)的場景放到正式環(huán)境容易遇到進(jìn)程被殺、時(shí)間漂移這些坑。3. 第一個(gè)實(shí)用腳本批量SSH執(zhí)行命令3.1 先拆需求再寫功能很多人一上來就寫代碼結(jié)果寫到一半發(fā)現(xiàn)沒想清楚要干嘛。批量執(zhí)行命令這個(gè)腳本核心需求其實(shí)就三條能連接一批服務(wù)器、能執(zhí)行指定命令、能把結(jié)果收集回來??此坪唵蔚欠诺蕉_(tái)機(jī)器上串行跑太慢并發(fā)太高又容易被服務(wù)器拒絕所以還得考慮并發(fā)度?;谶@些我選了 paramiko 而不是直接用系統(tǒng)ssh命令原因就是 paramiko 的異常處理更可控你能區(qū)分是認(rèn)證失敗、連接超時(shí)還是命令執(zhí)行失敗。3.2 一個(gè)可用的paramiko批量執(zhí)行腳本直接給一個(gè)能跑的版本假設(shè)你已經(jīng)有 SSH 密鑰服務(wù)器列表寫在代碼里。生產(chǎn)環(huán)境建議把列表挪到配置文件后面我會(huì)說怎么改。#!/usr/bin/env python3 import paramiko import logging from concurrent.futures import ThreadPoolExecutor HOSTS [ {host: 192.168.1.10, user: ops, key_filename: /home/user/.ssh/id_rsa}, {host: 192.168.1.11, user: ops, key_filename: /home/user/.ssh/id_rsa}, ] COMMANDS [hostname, uptime, df -h] logging.basicConfig( levellogging.INFO, format%(asctime)s %(levelname)s %(message)s, filename/tmp/batch_run.log ) def run_on_host(item): ssh paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect( hostnameitem[host], usernameitem[user], key_filenameitem[key_filename], timeout10, banner_timeout10, auth_timeout10, ) for cmd in COMMANDS: stdin, stdout, stderr ssh.exec_command(cmd, timeout15) out stdout.read().decode(utf-8, errorsreplace) err stderr.read().decode(utf-8, errorsreplace) print(f$ {cmd}\n{out.strip()}) if err.strip(): logging.warning(f{item[host]} stderr: {err.strip()}) ssh.close() def main(): with ThreadPoolExecutor(max_workers5) as pool: list(pool.map(run_on_host, HOSTS)) if __name__ __main__: main()幾個(gè)關(guān)鍵點(diǎn)說一下。set_missing_host_key_policy(paramiko.AutoAddPolicy())的意思是自動(dòng)接受首次連接的主機(jī)指紋這在批量環(huán)境里省事但在安全要求高的環(huán)境不建議這么干最好是預(yù)先把 known_hosts 配好。banner_timeout和auth_timeout用來防止某臺(tái)機(jī)器 SSH 握手階段卡死不設(shè)置的話腳本可能掛在某一臺(tái)上。3.3 并發(fā)數(shù)不是越大越好ThreadPoolExecutor 很好用把串行改成并發(fā)只需要加幾行。但max_workers別貪多我個(gè)人推薦 5 到 10 就夠了。你要管理的是幾十臺(tái)服務(wù)器5 個(gè)并發(fā)處理起來就是一分鐘以內(nèi)的事如果設(shè)成 50很多開源防火墻或者商用設(shè)備會(huì)直接把你的 IP 拉黑。記住自動(dòng)化是給運(yùn)維減負(fù)不是給安全設(shè)備送素材。3.4 擴(kuò)展文件分發(fā)和收集執(zhí)行命令只是開始很多時(shí)候還要把安裝包分發(fā)到各臺(tái)機(jī)器或者把日志收集回來。這就要用 SFTP。ssh paramiko.SSHClient() # ... connect 同上 ... sftp ssh.open_sftp() sftp.put(/local/app.tar.gz, /tmp/app.tar.gz) sftp.get(/var/log/app.log, ./collect/192.168.1.10_app.log) sftp.close()這里容易踩的坑是遠(yuǎn)程目錄權(quán)限或者目錄不存在。sftp.put不會(huì)自動(dòng)創(chuàng)建遠(yuǎn)程目錄你得先執(zhí)行mkdir -p或者用sftp.mkdir逐級建目錄。收集日志時(shí)更建議每臺(tái)機(jī)器建一個(gè)子目錄避免文件名沖突比如上面例子里的./collect/192.168.1.10_app.log。3.5 別把密碼硬編碼在腳本里很多初學(xué)者喜歡在腳本里寫password123456我強(qiáng)烈不建議。腳本會(huì)放在服務(wù)器上甚至?xí)粋鞯酱a倉庫里密碼一旦泄漏就是安全事故。更好的方案是優(yōu)先用 SSH 密鑰如果一定要用密碼就用getpass提示交互輸入或者從配置中心讀取。至少也要把密碼放在環(huán)境變量里而不是寫死在源碼中。4. 巡檢告警腳本從手動(dòng)登錄到自動(dòng)出報(bào)告4.1 巡檢指標(biāo)先設(shè)計(jì)好代碼才有意義在寫巡檢腳本之前先問自己一個(gè)問題你到底要關(guān)注哪些指標(biāo)我見過不少巡檢腳本輸出一大堆數(shù)字最后沒人看因?yàn)楦緵]有重點(diǎn)。最基礎(chǔ)也最常用的指標(biāo)無非是這幾個(gè)指標(biāo)建議閾值說明CPU 使用率 80% 持續(xù) 5 分鐘長時(shí)間跑高需要關(guān)注系統(tǒng)負(fù)載 CPU 核心數(shù)負(fù)載過高說明隊(duì)列積壓內(nèi)存使用率 85%接近耗盡易觸發(fā) OOM磁盤使用率 90%再往上可能影響寫日志關(guān)鍵進(jìn)程存活進(jìn)程不存在告警服務(wù)掛了要第一時(shí)間知道關(guān)鍵端口監(jiān)聽端口不可達(dá)告警結(jié)合業(yè)務(wù)場景定義別把指標(biāo)定得太死不同業(yè)務(wù)不一樣。內(nèi)存 90% 對緩存類服務(wù)可能很正常磁盤 80% 對備份機(jī)器也可能就該清理了。閾值先按經(jīng)驗(yàn)給一版跑一段時(shí)間再調(diào)。4.2 本機(jī)巡檢腳本實(shí)例下面這個(gè)腳本可以在單臺(tái)服務(wù)器上跑用來采集和判斷指標(biāo)命中閾值就輸出告警。實(shí)際使用時(shí)可以結(jié)合上一節(jié)提到的 paramiko把它推到遠(yuǎn)程機(jī)器上執(zhí)行。#!/usr/bin/env python3 import os import time import psutil import socket HOST socket.gethostname() CPU_THRESHOLD 80 MEM_THRESHOLD 85 DISK_THRESHOLD 90 def check_cpu(): # 取三次采樣平均值避免瞬時(shí)峰值誤報(bào) total 0.0 for _ in range(3): total psutil.cpu_percent(interval1) avg total / 3 if avg CPU_THRESHOLD: print(f[ALERT] {HOST} CPU usage {avg:.1f}% {CPU_THRESHOLD}%) return avg def check_memory(): mem psutil.virtual_memory() if mem.percent MEM_THRESHOLD: print(f[ALERT] {HOST} memory usage {mem.percent:.1f}% {MEM_THRESHOLD}%) return mem.percent def check_disk(): du psutil.disk_usage(/) if du.percent DISK_THRESHOLD: print(f[ALERT] {HOST} disk usage {du.percent:.1f}% {DISK_THRESHOLD}%) return du.percent if __name__ __main__: cpu check_cpu() mem check_memory() disk check_disk() print(f[INFO] {HOST} CPU{cpu:.1f}% MEM{mem:.1f}% DISK{disk:.1f}%)這里有個(gè)細(xì)節(jié)CPU 使用率采樣如果只取一次特別容易誤報(bào)。運(yùn)維機(jī)器經(jīng)常有定時(shí)任務(wù)、日志壓縮這種瞬時(shí)尖峰所以我的做法是連續(xù)采樣三次取平均寧可慢幾秒也別半夜發(fā)騷擾告警。4.3 閾值判斷要連續(xù)采樣別被瞬時(shí)尖峰騙了關(guān)于“持續(xù)多久才算報(bào)警”也可以用一個(gè)更簡單的做法在內(nèi)存里維護(hù)一個(gè)計(jì)數(shù)連續(xù)三分鐘超過閾值才觸發(fā)告警。不要一個(gè)采樣點(diǎn)超標(biāo)就發(fā)郵件不然晚上你會(huì)被短信轟炸。說實(shí)話告警靈敏度寧低勿高等你的監(jiān)控系統(tǒng)每天發(fā)幾十條信息沒人看的時(shí)候真正的故障反而會(huì)被淹沒。4.4 定時(shí)任務(wù)crontab還是systemd timer巡檢腳本寫好了剩下的就是定時(shí)執(zhí)行。我最常用的是 crontab簡單直接。下面是典型的寫法*/5 * * * * /home/ops/venvs/ops/bin/python /home/ops/scripts/health_check.py /var/log/health_check.log 21這三處必須注意第一Python 解釋器寫絕對路徑不要寫python或者python3因?yàn)?cron 環(huán)境里的 PATH 很精簡可能找不到命令第二腳本也寫絕對路徑cron 的工作目錄不固定第三日志要重定向到文件否則腳本的輸出會(huì)被 cron 的郵件系統(tǒng)吞掉找都找不到。systemd timer 更規(guī)范能配置依賴、隨機(jī)啟動(dòng)延遲但需要寫 service 和 timer 兩個(gè)單元文件對小規(guī)模腳本來說稍微重了一點(diǎn)。我一般是腳本少用 crontab腳本多了再上 systemd timer。4.5 用smtplib發(fā)告警郵件告警怎么通知出去最傳統(tǒng)也穩(wěn)定的方式是郵件。用 smtplib 封裝一個(gè)推送函數(shù)import smtplib from email.mime.text import MIMEText def send_alert(subject, content): smtp_server smtp.example.com smtp_port 465 user opsexample.com passwd your-smtp-auth-code msg MIMEText(content, plain, utf-8) msg[Subject] subject msg[From] user msg[To] ops-teamexample.com server smtplib.SMTP_SSL(smtp_server, smtp_port) server.login(user, passwd) server.sendmail(user, [ops-teamexample.com], msg.as_string()) server.quit()注意用戶名和密碼這里用的是 SMTP 授權(quán)碼不是郵箱登錄密碼?,F(xiàn)在很多群機(jī)器人也有 Webhook 接口原理類似curl 一個(gè) URL 就能推送相對郵件來說更實(shí)時(shí)。但團(tuán)隊(duì)內(nèi)部協(xié)作郵件還是最通用的記錄留痕也方便。5. 常見問題與排查實(shí)錄5.1 “python命令不存在”或“pip找不到”這次熱搜里就有很多類似的報(bào)錯(cuò)比如某個(gè)版本的pnpm不能被識(shí)別為 cmdlet 或者命令本質(zhì)都是同一個(gè)原因執(zhí)行文件的路徑不在 PATH 環(huán)境變量里。Python 也一樣Windows 上安裝時(shí)沒勾選“Add Python to PATH”就會(huì)出現(xiàn)python 不是內(nèi)部或外部命令。Linux 上則是沒裝對應(yīng)的包。解決辦法很簡單Windows 重新安裝一次并勾選 PATH或者在系統(tǒng)環(huán)境變量里手動(dòng)加Linux 就是安裝python3-pip。排列組合如果python3存在但python不存在建個(gè)軟鏈即可。如果pip找不到優(yōu)先用python3 -m pip保證用對解釋器。如果多個(gè) Python 版本混在一起pip 裝進(jìn)了另一個(gè)版本用python3 -m pip install就不會(huì)錯(cuò)。5.2 SSH連接失敗的各種原因批量連接最煩的就是某臺(tái)機(jī)器突然連不上。常見報(bào)錯(cuò)和排查思路我整理成了速查表現(xiàn)象常見原因排查 / 解決Authentication failed用戶名密碼錯(cuò)誤或密鑰對不上檢查用戶名確認(rèn)密鑰是否在目標(biāo)機(jī)的 authorized_keys 中Bad permissions密鑰文件權(quán)限過寬chmod 600 ~/.ssh/id_rsaConnection refusedsshd 未啟動(dòng)、端口被防火墻攔檢查 sshd 服務(wù)狀態(tài)確認(rèn)遠(yuǎn)程端口是否通Error reading SSH protocol banner握手超時(shí)或服務(wù)器響應(yīng)慢設(shè)置banner_timeout和auth_timeout別用默認(rèn)值等太久No host key type configured舊設(shè)備算法不兼容檢查是否需要配置disabled_algorithmsConnection refused出現(xiàn)頻率很高我排查的順序是先 ping 看通不通再看端口再確認(rèn) sshd 是不是在監(jiān)聽。如果端口通但連不上大概率是防火墻的配置問題。5.3 exec_command卡住不返回paramiko 執(zhí)行命令時(shí)如果忘記讀stdout和stderr或者命令本身不退出腳本就會(huì)一直卡著。我的經(jīng)驗(yàn)是每條命令都給timeout參數(shù)比如上面的例子寫成exec_command(cmd, timeout15)超時(shí)之后報(bào)錯(cuò)退出。另外如果命令會(huì)產(chǎn)生大量輸出一定要及時(shí)讀取否則 SSH 通道的緩沖區(qū)滿了客戶端會(huì)阻塞住。還有一種情況是執(zhí)行交互式命令比如top這種要持續(xù)輸出的exec_command不適合要用invoke_shell來回寫交互但那個(gè)更復(fù)雜盡量別碰。5.4 中文亂碼與編碼問題腳本輸出中文亂碼十有八九是編碼沒統(tǒng)一。遠(yuǎn)程服務(wù)器默認(rèn)locale可能是POSIX或C輸出的中文會(huì)變成亂碼本地 Windows 控制臺(tái)默認(rèn) GBKPython 默認(rèn) UTF-8直接打印也容易串。我在代碼里讀取輸出時(shí)統(tǒng)一寫成decode(utf-8, errorsreplace)這樣即使個(gè)別字節(jié)不對也不會(huì)整個(gè)崩潰。另一個(gè)辦法是在命令前面加export LANGen_US.UTF-8;讓遠(yuǎn)程命令的輸出盡量用 UTF-8 編碼。5.5 venv在cron里不生效這個(gè)問題坑了無數(shù)人。你在終端里試腳本一切正常但 crontab 跑起來就報(bào)ModuleNotFoundError。原因很簡單cron 的執(zhí)行環(huán)境非常干凈不會(huì)加載你的~/.bashrcvenv 也沒被激活。解決方法是不要靠 activate直接在 crontab 里寫 venv 的 Python 絕對路徑。同時(shí)依賴庫如果有變動(dòng)要在 venv 里更新requirements.txt并且確認(rèn) cron 用的這個(gè)環(huán)境確實(shí)裝有所有依賴。5.6 不要亂動(dòng)系統(tǒng)Python又得重復(fù)一次真的不要在系統(tǒng) Python 里全局 pip install。很多運(yùn)維事故都是“順手”升級了一個(gè)包結(jié)果系統(tǒng)的某個(gè)工具依賴舊版本直接罷工。RHEL 系的 yum 依賴 Python 2.7 是經(jīng)典案例。所以所有業(yè)務(wù)腳本依賴一律進(jìn) venv系統(tǒng) Python 保持安裝時(shí)的狀態(tài)。這是自動(dòng)化運(yùn)維的基本衛(wèi)生習(xí)慣。6. 從腳本到工具幾條實(shí)踐經(jīng)驗(yàn)寫到這里我把這些年做自動(dòng)化運(yùn)維腳本的個(gè)人體會(huì)講一講沒有大道理都是踩坑踩出來的。第一先小范圍驗(yàn)證再全量執(zhí)行。不管是批量執(zhí)行命令還是分發(fā)文件先挑一臺(tái)測試機(jī)跑通確認(rèn)沒有破壞性操作再放到生產(chǎn)批量里。我見過有人寫完腳本直接全量重啟服務(wù)結(jié)果腳本里少判斷了一個(gè)條件整批機(jī)器一起出問題那場面是真的慘。把HOSTS列表先改成一臺(tái)機(jī)器跑通了再放開。第二腳本要冪等能重復(fù)執(zhí)行。冪等這個(gè)詞聽上去高級其實(shí)很簡單同一個(gè)腳本跑一次和跑十次最終狀態(tài)應(yīng)該一致。比如分發(fā)文件之前先比較文件 hash合了就跳過創(chuàng)建用戶之前先判斷用戶是否存在。自動(dòng)化運(yùn)維最怕的就是腳本沒有防御性跑第二次就報(bào)錯(cuò)或者更糟跑第二次把數(shù)據(jù)覆蓋了。第三日志比結(jié)果重要。任何腳本都應(yīng)該有自己的日志至少記錄什么時(shí)間、在哪臺(tái)機(jī)器上、執(zhí)行了什么命令、返回碼是多少。不要只依賴print用logging寫到固定文件方便事后回溯。運(yùn)維行業(yè)的準(zhǔn)則就是“執(zhí)行過的操作要有留痕”否則出了問題你就是那個(gè)背鍋的。第四參數(shù)化配置不要硬編碼。服務(wù)器列表、用戶名、閾值、路徑全部放到配置文件或環(huán)境變量里。不然每次加一臺(tái)機(jī)器都要改代碼改完還得擔(dān)心改錯(cuò)。簡單做法是用argparse支持命令行傳參再復(fù)雜一點(diǎn)就引入 YAML 配置文件。腳本通用性高了后面接手的人會(huì)感謝你。第五別追求一步到位。一個(gè)腳本能解決一個(gè)問題就很好了后續(xù)需求可以慢慢加。比如批量執(zhí)行命令腳本先支持固定命令再支持傳參再支持文件分發(fā)再支持并發(fā)控制。慢慢迭代出來的工具才最貼合實(shí)際場景一上來就想寫個(gè)超級復(fù)雜的平臺(tái)大概率爛尾。自動(dòng)化運(yùn)維腳本的價(jià)值不在于代碼多花哨而在于把重復(fù)操作固化下來把容易出錯(cuò)的人為判斷變成可重復(fù)的邏輯。我現(xiàn)在打開電腦很多操作已經(jīng)不需要再登錄服務(wù)器了前一天晚上把巡檢腳本跑完第二天早上看結(jié)果就行。這種幸福感就是靠這些不起眼的小腳本積累出來的。你也不妨從今天的第一行import paramiko開始。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
高清无码一区二区三区| 舔人妻中文免费视频| 国产成年精品高清在线观看91| 中文字幕在线2| 91久久久久久久| 张柏芝国产一区在线观看| 嗯嗯啊啊视频一区二区三区| 性爱综合网| 黄视频免费| 91 亚欧| 97蜜桃综合| 天天操夜夜嗨| 伊人五月天婷婷| 久久久女人| aaa淫乱视频| 久久夜夜| 大香蕉97久久| 欧美 亚洲 91| 欧美天天拍| 国产视频一区二区免费| 97色碰| 国产精品96久久久久久| 九七毛片九九毛片 | 青青草五月天| 男人的天堂.com| 国产激情片在线观看| 无码高清少妇久久| 亚洲精品久久久久毛片A片拉屎| 97久久天天综合色天天综合色电影 | 97色色色综合网站| 97亚洲性爱| 色婷婷亚洲婷婷| 亚洲精品影视老司机| 人妻少妇久久中文字幕一区二区 麻豆 | 狠狠综合| 五月婷婷激情| 久久久97| 久久99综合| 二男一女成人A片| 成人五级久久| 国产亚洲欧美每日在线| 日本人妻中文字幕精品| 中文色综合| 国产精品永久免费10000| 超碰97人妻| 五十路熟女人妻一区二区三区四区五| 亚洲精品97| 91久久青青草原精品| 婷婷五月天激情四射| 91操熟女| 国产精品久久久久亚洲av| 性暴力欧美猛交在线直播| JIZZJIZZ亚洲女人被躁| 成人性爱美曰韩| 白嫩国模丰满一二三区| 性吧在线视频| www.AV有限公司一区| 麻豆国产成人精品| 上床啊啊啊| 人人么人人操| 另类 日韩 熟女| 99热自拍| 夜夜人妻爽| 另类图片五月天| 麻豆成人影音在线| 91碰超| 国产亚洲色婷婷久久99精品91| 久久午夜伦| 久久久久久久久久黄色网| 伦理日韩国产久久| 亚洲 欧美 日韩 国产一区二区| 亚洲Av无码成人精品国产| 九色 蝌蚪 熟女自 | 国产农村妇女毛片精品久久| 精品78| 亚洲国产另类在线中文| 精品成人亚洲午夜电影| 欧亚洲精品有视频| 亚洲 欧美 综合 91| 日本欧美不卡| 97在线精品观看视频| 五月婷婷基地| 99色色| 情色av电影| 亚91网| 波多野结衣先锋影音| 91N欧美| 另类老少妇| 超碰国产精品无码| 亚洲最大黄网| 国产综合色精品在线观看| 九九无码视频| 9.1小视频| 国语对白露脸XXXXXX| 大胆91| 九九九999久久久网站| 太久视频| A一区片| 亚洲色啪| 999精品乱码| 婷婷天堂站| 麻豆a'v电影| 中国乱伦一区二区| 亚州,欧美在线| 亚洲AV无码国产精品久久久久| 日韩美女高潮喷水视频| 国产成人精品必看| 午夜精品人妻二区三区| 十八禁视频网站| 精品无人区麻豆乱码1区2区图片| 丰满人妻大屁一区二区| 97日韩欧美亚洲| 天天干天天操天天干天天操| 激情综合网激情五月天| 九色黄站| 亚洲情色图片区| 人人操肉肉| 久久人妻无码毛片A片麻豆| 久热香蕉精品在线视频| 97欧美日韩综合| 女优免费一区二区永久| 黄色大片免费在线| 2017,超碰| 亚洲天堂另类小说男人| 日本性爱少妇| 懂色Av| 色综和网| 久久婷婷一区二| 搡老女人老妇女老妇老熟女怎么读| 久久久人妻| 日少妇视频| 啪啪啪大香蕉| 土豪酒店各种姿势玩弄极品幼稚| 嫩草91| 欧美图片校园春色| 久久夜夜夜夜| 亚洲色图欧美| 神马久久久久久久久久久久| www.色吧5.com| 国产女同视频在线播放| 密臀AV在线| 老熟妇一区二区三区…| 亚洲激情深爱文学小说网站| 天堂精品在线| 乱伦a片视频| 少妇99| 99热在线观看| 欧洲黄色网| 日本一久是| 日日日日日| 成人小说另类在线| 久久久久久电影| www99热| 91东北熟女| 97操在线| 蜜臀视频网站| 97精品视频免费| 黄色高清无码无码破解免费暗网 | 国产欧美第五页| 国产东北女人在线视频| 丰满少妇一区二区三区免费看| 亚洲男人的天堂V| 在线看片国产精品每日更新| 秋霞色色影院| 天天综合中文字幕 91| 久久久久久中文版| 中文乱码99| 久久精品一区二区三区不卡| 国产精品久久久久久久黄无码| 久操国产在线| 91综合天天看| 亚洲素人综合| 国产精品视屏| 91夜色chaopeng| 日本成人A片网站| av天堂影视中文在字幕在线中文| 亚洲AV无码乱码| 波多野结衣先锋影音| 亚洲国产日韩欧美熟妇在线| 久久久久久久极品香蕉视频| 亚洲日韩XXX| 欧美宗合网| 欧美在线亚洲| 狠狠操,使劲操| 精品性爱无码在线播放| 日韩欧美中文字亚洲慕| 草草草视频| 无码高清少妇久久| 自拍盗摄一区| 深爱激情五月天| 一区| 丰满人妻一区二区三区蜜桃视频| 日韩免费三级黄片电影| 人、人、摸,人、人、草| 久久超碰亚洲人| 97伊人超碰| 人妻性爱一区二区| 丁香五月激情综合| 2017亚洲天堂| 亚洲AV无码乱码| 欧美综合骚| 91色宗合| 亚洲午夜免费狠狠干| 久久久99免费| 九九九九精品精| 四虎国产成人精品免费一女五男| 天天干天天操天天干天天操| 蜜乳av首页| 99re99| www.色操逼| 3P丝袜熟女 色综合| 久久超碰、| 色性综合| 五月丁香婷婷综合| 久热九九| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 超碰av在线| 亚洲色图尤物视频| 丰满美女一级毛片在线播放| 欧美性爱伊人| 国产天天噜一噜久久久| 人人摸人人干人人拍97| 免费国产| 9999久久久久| 99re在线| 亚洲揄拍网| 日本高清视频xxxx| 99后入| 无码免费精品高清| 男人天堂导航| 一区二区激情国产熟女 | 蜜臀va69| 男人的天堂VA| 久久少妇| 精品国产一区二区三区四区在线看| 国产呦精品系列在线观看| 久久精品国产免费观看99| 欧美色图人妻| 亚洲欧美日韩综合在线尤物| 欧美日韩欧美| 97AV爱| 国产白丝精品在线观看| 色女综合| 高清成年美女黄网站免费大全 | 国产午夜精品理论片一二三区区| 欧美亚洲第1页| 国内毛片无遮挡国产| 伊人一区二区三区| 深田咏美亚洲精品福利社| 亚洲第一视频 欧美风情 日韩| 亚洲超碰在线| 高清无码久操视频| 干美女人妻| 极品色社| 国产区91柔拿会所技师| 亚洲a色| 爱爱动态试试看6 0秒| 亚洲国产麻豆一区二区三区| 加勒比中文av| 色香伊人| 18精品一区| 夜夜影视四色| 秋霞网无码| 精品少妇人妻| 亚洲中文字幕乱码无码一区二区 | 狼人狠干| 少妇丝袜在线观看AV| www.天天干| 久久精品日韩| 日韩国产精品人妻无码久久久| 99国内熟女露脸视频| 婷婷色一区| 日韩一区二区高清在线观看的| 深爱五月婷婷| 99性爱在线观看| 天天看天天日| 国产精品一区二区三区四区五区| 午夜福利免费福利视频| 欧美精品一区二区少妇免费A片| 丁香五月AV| 韩国午夜理伦三级好看| 亚洲欧洲综合av在线| 麻豆久久一区二区三区| 无码粉嫩白虎一线天b区| 狠色婷婷久久一区二区三区_| 97九色人妻| 国产 码在线成人网站| 国产亚州高清国产拍精| 脫衣舞一区二区三区| 69XX一中文字幕人妻91| 人人操,人人液| 2017亚洲天堂| 天天干天天操天天操夜夜操天天操| 98超碰欧美| 骚熟女AV网| 国产91丝袜在线播放蜜月| 99re这里| 亚洲色图欧美色图综合| 欧美96在线|欧| 大香蕉狠狠爱| 久久久久久精| 日韩免费簧片| 精品一区二区成人| 99久久久无码国产精品性男| 天天天天天干夜夜夜夜夜操| ...日韩成人一区二区三区字幕| 亚洲男人的天堂AV| 日本不卡一区二区三区| 男人的天堂com| 男人天堂东京热| 91福利网在线观看| 日韩一性一交一A片俄罗斯| 很很热性爱视频| 伊人久久婷婷| 欧美性,色九九| 亚洲电影91| 99久在线精品99re8蜜桃| 欧美.亚洲.另类.丝袜.制服.诱惑| 超碰公开久久网| 欧美成人色| 免费视频观看60秒| 欧美成人免费在线观看| 近亲乱伦一区二区| 久久久98网站免费视频| 日韩欧亚中文在线| 91老熟女视频| 国产亚洲色婷婷久久99精品91葵花宝典 | 78综合网| 超碰偷拍| 无码一区二区精品视频久久久春药 | 成人在线视频二区| 久久超碰av在线| 夜夜骑夜夜操| 色色色色网站| 牛牛久久国产精品视频一二三| 校园春色美腿丝袜| 神马久久久久久久久久久久| 97国产中文| 妇女性内射冈站HDWWWCOM| 中文字幕在线高清男人的天堂| 玖玖蜜臀资源网| 日韩15p| 中日韩熟女| AV高清一区| 色妇综合网| 美女黄频a美女大全免费皮| 国产精品 午夜福利| 亚洲欧美日韩不卡人妻| 色狠狠综合| 国产丸一视频| 成人激情无码在线视频| 91欧美丨精品丨入口| 精品蜜乳AV免费观看| 中文字幕一区av| 啊啊在线| 日韩一级片| 日韩成人人妻网站| 五月天激情影院| 四虎影视 亚洲无码| 日本一区二区三区四区免费观看| 亚洲欧美精品久| 在线看的av| 欲射影视| xxx0国产在线播放| 破处bbq| 手机看片1024你懂的国产| 91亚洲丝袜| 成人无码影片视频在线| 精品人妻一区二区蜜桃视频 | 国产偷拍自拍在线视频| 亚洲欧美变态| 中文字幕一区av| 欧洲精品一级二级精品综合视频综合 | 久草福利在线资源站| 91操熟妇| 婷婷伊人一区| 操高情无码| 国产女主播视频在线观看| 日韩中文字幕在线视频观看| 九九热国产| 素人美腿视频网站| 亚洲字幕一区二区| 91操熟女视频| 欧美黑人与女人91~| 人妻81p| 精品人妻久久久| 少妇被玩视频二三区| 黄色电影观看久久9| 日韩欧美~中文字| 97天天爽| 国产精品无码论坛| 婷婷久久五月综合激情| 亚洲s色图| 天无日色综合| 久久精品色欧美aⅴ一区二区| 羞涩视频| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 97精品国产97久久久| 中文字幕国产| 日韩精品在线视频,日韩精品……| 999 久久久| 色999人与兽| 国产精品自拍欧美在线| 韩三级a视频在线观看| 日本久久久久久久久久| 超碰免费欧美7| 欧美 亚洲 大香| 91超级碰碰| 美女尤物人人操| 啪啪性爱免费视频| 97亚洲综合| 亚州综| 欧美桃色网| 日本精品久久久久久久| 国产女同性恋视频| 欧洲免费一区二| 日韩啪啪啪啪啪| 中字乱伦AV| 亚洲二区精品在线观看 | 97人人爱人人做人人乐| 人妻日日夜夜精品| 人妻在线中出视频| 超碰97资源大奶| 欧美人妻二区三区| 青青草视频久久久久| 97亚洲国产影视| 日本美女性生活久久久久久久| 亚洲丝袜二区| 色综合美国| 国产伊人自拍| 欧美亚洲丝袜美女电影| 亚洲欧美国产中文字幕| 少妇色综合| 嗯嗯啊啊啊啊轻点视频| 日本免费中文一区二区三区四区| 久久嫩草国产成人一区| 人妻夜夜爽天天爽麻豆三区网站 | 色鬼在线综合| 久久久久久久| 丁香五月性爱| 亚洲精品九九九九九九| 最新中文字幕精品在线| 超碰98综合网| 欧美另类精品xxxx| 亚码人妻| 老熟女乱子伦中文字幕一区二区 | 吉川爱美亚洲二区在线 | 一区| 92性色国产午夜福利在线661| 色五91| 熟女精品日韩一区二区三区| 91狠狠色丁香婷婷综合久久| 亚洲九九视频| 9+1视频网址| JuliaAnnXXX888| 亚洲操逼网| 91欧美经典| 发朗少妇买婬全视频中文| 97精品全部| 欧美精品99久久久| 美女91| 欧美色三级片91| 尤物网站91| 欧美久久毛片基地| 91午夜无码| 激情四射熟女丝袜| 欧美成人一区二区三区在线播放| 夜夜骑日日| 久久久久久人妻| 天天色欧美| 欧美成人精品一区二区三区| 日韩操逼HD| 久污| 920日本午夜免费| 天天躁日日躁狠狠躁| 久久超碰、| 日韩一级特黄av毛片| 一区二区三区四区在线不卡| 婷婷五月天小说| 中国一级αV| 中文字幕十五区| 日操粉逼逼| 狠狠爱夜夜| 一区麻豆 高清中文字幕| 久操网视频| 强乱老妇中文字幕| 久久av色| 人人操人人摸人 | 中文字幕乱码在线观看| 中文乱码99| 亚洲人妻中文高清| 伊人久久AV诱惑悠悠| 亚洲综合113页| 日韩激情啪啪啪| 亚洲丝袜色图| 国产精品视频白浆免费| 99无码| 老女人碰碰在线碰碰视频| 国产伦精品一区二区三区在线观 | 欧美色另类| 欧美精品第四五页中文字幕在线观看| 一个人免费HD91视频| 亚洲综合九九| 久草线上视频免费看| 爱爱动态120秒| 美女写真| 亚洲无码com| 天天综合网合集91| 抽查国产福利主播| 丁香婷婷九月| 日本三级A片网站com| 久久大香蕉97| 青青欧美| 午夜福利久久久噜久噜久久综合 | 国产黄a三级三级三级av在线看| 国产精品极品美女视频| 日韩性爱长视频免费| 97精品网站| 久久欧洲| 天天综合~91入口| 亚洲 欧美 手机在线观看| 日本一区二区中文字幕久久| 91N综合网| 国产乱码精品久久久久久| 日韩三级一区 | 日婷婷| 欧美性色网| 日韩大香蕉精品在线视频| 欧美日韩国产中文精品字幕自在自线,| 国产真实野战在线视频| 日韩免费看在线黄色片| 毛片久久| 综合网天天| 日本布卡一区二三区| 97视频在线视频| 天天日日日射| 国产欧美美女免费观看视频| 99精品在线播放| 最新中文字幕在线亚洲| 成人性爱av| 亚洲黄色视频在线观看视频| 91丝袜在线观看| 三级色影综合网| 欧美天天影院| 天天综合站| 尤物视频网 刘玥| 久草男人天堂| 免费成人在线熟妇网| 日韩久久超碰色| 亚洲AV无码| 嗯嗯嗯啊啊啊在线免费观看| 操操AV电影| 九九伊人网| 婷婷97| 国产激情视频在线观看| 中文字幕性感少妇av| 国人欧美精品一区二区| 秋霞蝌科网日本一区| 精品视频免费在线一区| 人妻81p| 中文字幕奈奈美被公侵犯| 色色色日本| 性爱综合一区二区| 正在播放国产精品一区| 日韩99神马视频播放片在线播放| 亚洲人妻在线精品| 欧美精品宗合| 97精品一区二区视频| 囯产精品久久久久久久久久梁医生 | 天天干天天干天天干| 99综合网| 9久久9综合| 中文字幕加勒比海高清无码免费视频| 综合激情97 | 亚洲成人性爱在线观看| 欧美性爱在线无码| 伊人AAA| 男女打扑克高清网站| 九九热免费在线国产视频伊人五月| 精品久久在线区一区| 超碰 另类 欧美| 欧美韩国你懂得在线| 超碰97亚洲区| 男人的天堂com| 性色亚洲| 中文字幕一区二区在线日韩精品| 亚洲成人福利电影免费| 婷婷丁香五月综合| 久热久一区二区三区| 精品小视频在线| 日韩二区三四区五区六区在线看| 熟女少妇一区二区三区| 亚洲天堂精品日韩电影| 中文字幕精品一区欧美| 天天日天天干天天整| 欧美亚洲日韩人妻在线观看| 日韩影片中文字幕一区二区三区| 青青草字幕AV| 久久岛国| 一本精品日本在线视频精品| 一区二区三区欧美激情| AV天堂电影网| 亚洲欧美啪啪| 亚洲精品久久久久毛片A片拉屎 | 国产精品熟女丝袜一区二区| 欧美男女午夜啪啪| 中文字幕在线2| 欧美91变态| 成 人片 黄色大片| 五月天激情网图片| 精品无码久久久久| 九热中文字幕| 思思热影视| 97中文天堂| 亚洲熟妇综合久久久久久| 久久区| 逼逼逼逼操操操操操操操操操午夜剧场| 久久激情综合| 青青草国产盗摄一二三区| 婷婷国产精品一区二区| 国产精品国产自产高清AV| 色五月激情综合网| 色哟哟1区2区| 蜜臀一区二区三区在线| 亚洲国产欧美中文永久| 日韩精品99久久久久久中文字幕| 99re6在线视频播放免费精品| av一区二区三区四区| 色情五月婷婷| 色偷偷男人的天堂麻豆| 国产欧美在线观看免费观看| 曰韩av中文字幕专区| 青青草大香蕉在线视频| 亚洲图片欧美色| 在线看免费无码AV天堂的| 日韩人妻无码精品系列| 综合97| 91Chinese在线| 1000午夜黄色| 国产精品分类在线观看| 五月天丁香| 干美女人妻| 亚洲蜜乳av| 97超碰热线| 久久国产成人精品国产成人亚洲| 亚洲日韩精品在线播放| 久久人妻少妇| 国产精品麻豆视频网站| 色诱avtt| 白丝被操91| 欧美色偷拍| 91色插| 亚洲丁香花色| 啊啊在线| 免费A V在线| 久久久久久久9最新免费视频观看| 亚洲一区日韩精品| 熟妇熟女一区二三区| 97色在线视频| 色欧美天天| 99久在线精品99re8蜜桃| 日本亚洲熟女视频| 日本熟妇自慰性高潮一区二区三区| 亚洲精品一二区| 高潮综合网| 国产精品网址| 歐美性天天| 欧美日韩不卡a片| 亚洲淫色网中文| 北约熟女超碰| 亚洲性猛| 欧美性爱伊人| 男生通女生屁股| 国产精品青草综合久久| 四虎av在线| 色色色综合网| 亚洲在线91| 亚洲精品97在线| 91免费看一区二区三区| 打av高清| 午夜视频好爽啊| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 婷婷午夜清品久久久久久久性色视频观| 色啪网| 热热色中文无码| 欧州色图区| 无遮挡男女激烈动态图| 你草精品在线视频| 免费看国产曰批40分钟怎么下载| 一二三四视频在线社区中文字幕| 天堂中文日本在线观看| 爱丝福利| 婷婷中文字幕| 欧美成人一级麻豆| 91在线丝袜视频| 亚洲午夜福利在线影院| 欧美丝袜91| 老女人爆菊| 国产亚洲日韩欧| 少妇99| 丁香五月偷拍| 狠狠久久手机视频精品| 91麻豆一二三区| 亚洲国产激情国产av| 亚州综合色| 亚洲视频小说| 曰韩无码777| 久久久久亚洲| 亚洲精品1区| 伊人99热| 懂色中文一区二区三区 | 97久久久久久久精| 国产精品成人无码a v毛片| 亚洲 无码 有码 中文字幕| 天天爱天天韩国日本牛牛牛牛| 人人看黄色视频| 色偷偷人人玩人人舔人人操人人摸人人爽| 婷婷丁香久久| 男女猛烈无遮掩视频免费软件| #NAME?| 欧美亚洲日韩人妻在线观看| 黑人美精品 A片| 蜜桃传媒视频第一区入口在线看| 厕所偷拍在线| 粉嫩av在线一区二区| 国产99999| 99精品人人爽| 超碰亚洲欧美日韩无| www.av在线视频| 91色宗合| 蜜臀一二三| 天天色悠悠激情| 免费强奸av| 婷婷色色五月天福利| 激情文学亚洲| 99国产精品免费| 日本在线一二| 国产色精品午夜大片| 综合久久少妇中文字幕| 久久禁| 婷婷另类小说| 人人乐大香蕉| 国产成人无码网站在线视频| 日韩黄片影院| 超碰97COm中文| 肉丝无码中文高清| 97在线欧洲| 吻戏激情性巴克| 日本色色色视频| 亚洲日韩av专区无码| 日韩内| 91碰碰| 91久久堂| 天天弄欧美| 欧美毛片在线网| 国产 丝袜 欧美中文 另类| 熟妇xxxxx性春色| 成人性交免费视频| 精品9999| 国产乱人妻精品入口| 欧美日韩99精品麻豆传媒| 日韩性爱高清免费视频| 国产一区在线观看无码AV| 97精品| 91久| 欧美日韩人妻精品系列一区二区三区| 色欧洲97| 超碰欧美在线欧美| 国产中文福利| 香港成人一级视频在线青青草| 六六久久日韩不卡| 九月婷婷综合| 国产精品老师| 欧美一级A片在线看视频性色| 国产成人午夜视频网址| 国产精品原创巨作?v网站| 懂色aV一区二区天美传媒| 天堂性色| 奶水 人妻 哺乳 在线| 国产深喉| 香港久久久| 欧成人在线| 亚洲 欧美 日本 国内 首页| 91欧洲入口| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 无码高清少妇久久| 超碰日韩人妻| 欧美性爱第一页久久| 丰满人妻aA一区二区三区| 久热一区二区| 日韩兔费看黄片| 日韩免费a级毛片无码a∨| 男人的天堂 在线一区| 亚洲日韩天堂| 亚洲本色精品一区二区久久| 亚洲无992tv| 欧美在线永久天堂| 亚洲好看强奸乱伦| 精品偷拍13p欧美dodk视频| 国产精品久久99日日| 欧美亚洲尤物久久| 黄色av片三级三级三级免费看| 无码在线亚洲| 精品国产精品一区二区| 婷婷91| 亚洲色鬼| 97久久精品国产| 久久久111| 亚洲。天堂。日本在线观看| 中日韩久久久免费看| 国产精选视频| 在线免费观看高清无码视频| 成人av福利在线观看| av绯色| 日韩精品一区二区三区色欲| 六月丁香婷| 97二区四区| 亚洲欧美国产中文字幕| 校园春色家庭伦理欧美激情| 欧美黑人与女人91| 91美女视频| 蜜乳AV.COM| 久久精品国产免费观看99| 中文字幕精品一区二区精品| 超碰色中文| 物业黑人 AV一区| 91欧美色| 国产精品分类在线观看| 天天搞在线综合网| 狠狠操天天干| 青青操在线亚洲视频观看欧美在线| 麻豆成人av| 天天操妹子| www.亚洲成人一区| 亚洲天堂 视频你懂的| 伊人97超碰| 国产成人天堂| 中国特猛少妇色xxx| 国产午夜在线观看视频| 天天操天天舔| 亚洲熟女乱色| 久久9免费视频| 好吊色青靑草| .精品人妻一区二区三| 91精品伊人久久久大香线蕉91| 夜夜嗨AV一区天天| 日韩美女高潮喷水视频| 粉嫩AV一区二区夜夜| 亚洲欧美精品国产一区二区| 亚洲欧洲国产综合av| 人妻久热在线| 久久天堂网| 精品国产Av无码久久久亚洲| 欧美日韩操逼嗦吊| 成人久久无码www| 97中文综合| 成人无码在线视频网站| 中文字幕成人| 欧美伦乱爱| 2017大香蕉| 久久鲁干| 久久久∴| 97在线免费视频| 操逼日韩无码 | 欧美不在线| 色色色天美视频| 一区二区三区四区姦女| 蜜臀久久99精品久久久久久成人小说| 影音先锋少妇| 欧美色偷拍| 欧美天天影院| 操逼啊啊啊91| 国产精品午夜成人福利| 欧在线一二区| 亚洲第一在线视频| 青青草色插素人| 美女天天干| 天天舔天天| 99re99在线视频| 中文字幕一区电影在线观看| 不卡九肏| 久久久96| 欧美亚洲日韩人妻在线观看| 美国三级日本三级久久99| 免费?级毛片无码?∨蜜芽试看| 色色色色色色色色色色色色色色综合| 日韩特一级久久| 曰韩精品视频一区二区| 夜夜狼人妻| 色欧洲| 九九伊人网| 久草电影网| 国产真实野战在线视频| 色男人色天堂东京热| 四虎午夜影院| 中文字幕视频2区| 91精片| 水野优香在线观看| 亚洲图片小说欧洲| 久操精品网| 蜜臀网址在线| 国产乱伦性爱AV| 亚洲第一男人天堂| 囯产乱伦一区二区三女| 亚州大图综合色图| 日韩不卡在线一区二区| 亚洲欲| 操逼视频亚洲| 色亚州人久干视频在线观看免费版| 黑人美精品 A片| 久婷婷一区| 日韩综合成人免费视频| 国产AV人人 夜夜人人澡| 无码久久亚洲高清,| 欧美激情 日韩精品| 欧美福利视频啊啊啊啊| 色老汉色| 亚洲性爱电影| 日韩欧亚中文在线| 国产熟女免费观看久久| 97视频新免费| 黑人黄片在线免费观看| 成人AV在线网站| 99操99| 亚洲人妻久久| 亚洲男人的天堂V| 牛牛操视频逼| 动漫av中文| 亚洲强奸乱伦影视网| 91精品久久久久久| 蜜臀少妇一区二区| 凹凸视频在线一区二区| 欧美 传媒 麻豆 日韩 偷拍| 欧美日产国产在线成人第一区| 大香蕉之青青草原| 黄片在线免费在线观看| 91熟女网| 一区,二区,三区网站| 国产亚洲性生活视频播放| 久久精品人妻一区二区| 一区三区啪啪| www.男人的天堂| 麻豆av一区二区三区| 高清国产成人无码| 亚洲女人毛茸茸91| 日日夜夜狠狠| 台湾一区国产高清在线| 九九九九免费高| 欧美日韩99| 久久永久无码人妻视频| julia中文字幕在线观看| 国产精品久久伊人| 大香蕉欧美| 色香在线| 九九亚洲视频| 性爱网站一区二区| 一区二区播放| 国产四虎在线| 日韩探花精品在线视频| 超碰人妻久久| 久草热制服丝袜在线观看| 久久久激情| 国产午夜福利电影免费在线观看| 97欧美色综合| 久久手机好看网站| 中文字幕aⅴ在线视频| 人妻欧美| 亚洲综合一| 天天影视网综合少妇| 欧美国产精品| 骚女天天综合网| 色超碰综合| 91oumei| 一区二区视频在线播放| 青青草国产欧美非洲黑人| 欧美在线 亚洲| 中文字幕日韩国产传媒欧美精品| 国产91精品福利在线| 天天伊人| 无卡一区=区| 欧美色图片91| 狠狠色丁香| 欧美性爱中文字幕无线码| 少妇久久久久久久久| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 蜜乳Av成人片网站| 久草新在线| 9 9无尺码天堂网| 97蜜桃综合| 久9热| 亚洲精品天堂久久A∨51成人漫| 欧美宗合网| 日韩亚洲97| 亚洲成人精品久久久| 欧美激情五月天| 成年人性爱日韩| 92性色国产午夜福利在线661| 国产9熟妇视频网站| 96国产污污污丝袜| 色月天AV导航| 婷婷五月影院| 最近的最新的中文字幕视频| 超碰色男人操熟女| 97超碰欧美| 色九九久九九| 大香蕉青青9| 97干天天| 亚洲日韩av一区二区三区百合| 丁香六月婷婷久久综合| 日韩一区二区三区四区五区| 91人妻最真实刺激绿帽| 美女被啪到深处抽搐视频| 久草免费在线视频| 亚洲,欧美,综合网| 色九九综合AV| 欧美 亚洲 另类 综合| 日韩一级二级在线| 亚洲天天艹| 很很干很很操| 婷婷五月天成人| 欧美性爱另类综合| 国产一级做a爰大片免费久久| 亚洲国产欧美另类自拍| 大香蕉免费3| 亚洲成人黄色在线观看| 国产农村妇女精品| 好吊色综合| 九九九九九九九九九国产精品| 人人操超碰在线| 久久风骚城市| 96精品久久久| 亚洲狠狠入| 91亚洲最新在线| 欧美色交| 色色97爱| 超碰色图| 丰满人妻一区二区三区免费| 精品玖九九久| 欧美 亚洲| 超碰九7免费| 天堂无码| 婷婷干黄色| 国产精品永久免费10000| 翔田千里AⅤHD无码| 黄色av网站在线播放| 福利社区午夜一区二区| 综合五月婷婷亚洲一区| AV不卡在线| 亚洲国产高清福利视频| 天美麻花大全视频| 99自拍视频在线| 天天日天天插| 无码人妻一区二区一牛影视| 久久免费中文字幕在线观看| 视频在线观看一二三区| 91新在线欧美| 91欧美丨精品丨入口| 超碰97导航| 欧美综合中文| 亚洲天堂男人天堂网| 丁香婷婷五月| 婷婷丁香九月| 在线观看黄色电话| 丁香五月婷婷基地| 99这里有精品| 国产肏屁眼视频| 青青草无码视频| 色网亚洲人| 综合网91| 隔壁邻居波多野结衣中文字幕 | 六十路日本| 久久日韩毛| 歐美性天天| 天天干夜夜操一区二区| 综合欧美亚洲| 中文字幕日韩人妻视频| 五月天婷精品激情| 男人的天堂不卡一区二区| 打av高清| 97伦乱| 美女诱惑一区| 岛国视频一二三区| 色啪网| 日本97久久久精品| 国产蜜臀在线| 亚州欧美色图| 黄色在线网站| 狠狠操夜夜操蜜桃视频三区| 免费人人搞97| 亚洲区小说| 人人操人人干xxx| 亚洲性爱无码乱伦av| 天美av在线观看| 校园春色中文字幕AV| 欧美综合色,www| 黄色人人| 99色色网| 秋霞一区二区三区四区五区六区七区| avav青青草久久夜| 一区二区三区美女超清| 激情五月天社区| 欧美亚男人的天堂| 免费男人的天堂| 色网站导航大全| 日韩不卡av一二三| 久久97资源 网| 少妇贴图| 亚洲三区视频| 97超级久久强资源| 国产精品久久久久久夜夜夜夜| 另类天堂| 免费精品福利在线观看| 中文字幕av久久爽Av| 97ai亚洲| 99精品欧美一区二区三区桃色| 中文字幕人妻丝袜| 九9精品| 强奸抽插av| 丁香五月激情网| 亚洲黄色网址| 91国产操逼视频| 九九伊人网| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 九九九九日本 | 97欧美精品综合| 亚洲高清欧美总合| 黄色网址在线免费观看| 亚洲国产剧情少妇激情| 九九热精品视频六| 999亚洲国产视频| 精品人妻一区二区三区-国产精品| 超碰天天去日穴| 欧美强奸乱能| 欧美国产视频| 免费人成毛片乱码| 五月婷婷丁香六月| 色一区二区三区综合| 日本一级婬片试看三分钟| 日本精品人妻少妇一区二区| 国产免费内射视频| 中文字幕免费看大片| 亚洲精品蜜桃久久久久久久| 无码不卡亚洲成?人片| 91久久久久免| 国产白丝网站| 无码少妇精品一区二区60岁老人| 极品久久久久久久久久久久久久| 亚洲阿v天堂在线| 亚洲色偷偷色噜噜狠狠99网| 插插综合网天天影视网| 91成人精品在线播放| 欧美天堂第二区| 懂色av色欲av蜜臀av| 天天天乱色综合全| 日韩国产精品人妻无码久久久| 97久久精品亚洲| 99在线精品视频| 婷婷五月天色| 熟女乱伦二区| 综合天天。|