日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

發布時間:2024/9/15 python 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:養樂多 ? ? 編輯:JackTian
來源:公眾號「杰哥的IT之旅」
ID:Jake_Internet
轉載請聯系授權(微信ID:Hc220088)

不得不說,腳本在我們的日常工作中可以提高很大的工作效率,的確很香!

這次再來給大家分享一波我工作中用到的幾個腳本,主要分為:Python和Shell兩個部分。

Python 腳本部分實例:企業微信告警、FTP 客戶端、SSH 客戶端、Saltstack 客戶端、vCenter 客戶端、獲取域名 ssl 證書過期時間、發送今天的天氣預報以及未來的天氣趨勢圖;

Shell 腳本部分實例:SVN 完整備份、Zabbix 監控用戶密碼過期、構建本地 YUM 以及上篇文章中有讀者的需求(負載高時,查出占用比較高的進程腳本并存儲或推送通知);

篇幅有些長,還請大家耐心翻到文末,畢竟有彩蛋。

Python?腳本部分

企業微信告警

此腳本通過企業微信應用,進行微信告警,可用于 Zabbix 監控。

#?-*-?coding:?utf-8?-*-import?requests import?jsonclass?DLF:def?__init__(self,?corpid,?corpsecret):self.url?=?"https://qyapi.weixin.qq.com/cgi-bin"self.corpid?=?corpidself.corpsecret?=?corpsecretself._token?=?self._get_token()def?_get_token(self):'''獲取企業微信API接口的access_token:return:'''token_url?=?self.url?+?"/gettoken?corpid=%s&corpsecret=%s"?%(self.corpid,?self.corpsecret)try:res?=?requests.get(token_url).json()token?=?res['access_token']return?tokenexcept?Exception?as?e:return?str(e)def?_get_media_id(self,?file_obj):get_media_url?=?self.url?+?"/media/upload?access_token={}&type=file".format(self._token)data?=?{"media":?file_obj}try:res?=?requests.post(url=get_media_url,?files=data)media_id?=?res.json()['media_id']return?media_idexcept?Exception?as?e:return?str(e)def?send_text(self,?agentid,?content,?touser=None,?toparty=None):send_msg_url?=?self.url?+?"/message/send?access_token=%s"?%?(self._token)send_data?=?{"touser":?touser,"toparty":?toparty,"msgtype":?"text","agentid":?agentid,"text":?{"content":?content}}try:res?=?requests.post(send_msg_url,?data=json.dumps(send_data))except?Exception?as?e:return?str(e)def?send_image(self,?agentid,?file_obj,?touser=None,?toparty=None):media_id?=?self._get_media_id(file_obj)send_msg_url?=?self.url?+?"/message/send?access_token=%s"?%?(self._token)send_data?=?{"touser":?touser,"toparty":?toparty,"msgtype":?"image","agentid":?agentid,"image":?{"media_id":?media_id}}try:res?=?requests.post(send_msg_url,?data=json.dumps(send_data))except?Exception?as?e:return?str(e)

FTP 客戶端

通過 ftplib 模塊操作 ftp 服務器,進行上傳下載等操作。

#?-*-?coding:?utf-8?-*-from?ftplib?import?FTP from?os?import?path import?copyclass?FTPClient:def?__init__(self,?host,?user,?passwd,?port=21):self.host?=?hostself.user?=?userself.passwd?=?passwdself.port?=?portself.res?=?{'status':?True,?'msg':?None}self._ftp?=?Noneself._login()def?_login(self):'''登錄FTP服務器:return:?連接或登錄出現異常時返回錯誤信息'''try:self._ftp?=?FTP()self._ftp.connect(self.host,?self.port,?timeout=30)self._ftp.login(self.user,?self.passwd)except?Exception?as?e:return?edef?upload(self,?localpath,?remotepath=None):'''上傳ftp文件:param?localpath:?local?file?path:param?remotepath:?remote?file?path:return:'''if?not?localpath:?return?'Please?select?a?local?file.?'#?讀取本地文件#?fp?=?open(localpath,?'rb')#?如果未傳遞遠程文件路徑,則上傳到當前目錄,文件名稱同本地文件if?not?remotepath:remotepath?=?path.basename(localpath)#?上傳文件self._ftp.storbinary('STOR?'?+?remotepath,?localpath)#?fp.close()def?download(self,?remotepath,?localpath=None):'''localpath:param?localpath:?local?file?path:param?remotepath:?remote?file?path:return:'''if?not?remotepath:?return?'Please?select?a?remote?file.?'#?如果未傳遞本地文件路徑,則下載到當前目錄,文件名稱同遠程文件if?not?localpath:localpath?=?path.basename(remotepath)#?如果localpath是目錄的話就和remotepath的basename拼接if?path.isdir(localpath):localpath?=?path.join(localpath,?path.basename(remotepath))#?寫入本地文件fp?=?open(localpath,?'wb')#?下載文件self._ftp.retrbinary('RETR?'?+?remotepath,?fp.write)fp.close()def?nlst(self,?dir='/'):'''查看目錄下的內容:return:?以列表形式返回目錄下的所有內容'''files_list?=?self._ftp.nlst(dir)return?files_listdef?rmd(self,?dir=None):'''刪除目錄:param?dir:?目錄名稱:return:?執行結果'''if?not?dir:?return?'Please?input?dirname'res?=?copy.deepcopy(self.res)try:del_d?=?self._ftp.rmd(dir)res['msg']?=?del_dexcept?Exception?as?e:res['status']?=?Falseres['msg']?=?str(e)return?resdef?mkd(self,?dir=None):'''創建目錄:param?dir:?目錄名稱:return:?執行結果'''if?not?dir:?return?'Please?input?dirname'res?=?copy.deepcopy(self.res)try:mkd_d?=?self._ftp.mkd(dir)res['msg']?=?mkd_dexcept?Exception?as?e:res['status']?=?Falseres['msg']?=?str(e)return?resdef?del_file(self,?filename=None):'''刪除文件:param?filename:?文件名稱:return:?執行結果'''if?not?filename:?return?'Please?input?filename'res?=?copy.deepcopy(self.res)try:del_f?=?self._ftp.delete(filename)res['msg']?=?del_fexcept?Exception?as?e:res['status']?=?Falseres['msg']?=?str(e)return?resdef?get_file_size(self,?filenames=[]):'''獲取文件大小,單位是字節判斷文件類型:param?filename:?文件名稱:return:?執行結果'''if?not?filenames:?return?{'msg':?'This?is?an?empty?directory'}res_l?=?[]for?file?in?filenames:res_d?=?{}#?如果是目錄或者文件不存在就會報錯try:size?=?self._ftp.size(file)type?=?'f'except:#?如果是路徑的話size顯示?-?,?file末尾加/?(/dir/)size?=?'-'type?=?'d'file?=?file?+?'/'res_d['filename']?=?fileres_d['size']?=?sizeres_d['type']?=?typeres_l.append(res_d)return?res_ldef?rename(self,?old_name=None,?new_name=None):'''重命名:param?old_name:?舊的文件或者目錄名稱:param?new_name:?新的文件或者目錄名稱:return:?執行結果'''if?not?old_name?or?not?new_name:?return?'Please?input?old_name?and?new_name'res?=?copy.deepcopy(self.res)try:rename_f?=?self._ftp.rename(old_name,?new_name)res['msg']?=?rename_fexcept?Exception?as?e:res['status']?=?Falseres['msg']?=?str(e)return?resdef?close(self):'''退出ftp連接:return:'''try:#?向服務器發送quit命令self._ftp.quit()except?Exception:return?'No?response?from?server'finally:#?客戶端單方面關閉連接self._ftp.close()

SSH 客戶端

此腳本僅用于通過 key 連接,如需要密碼連接,簡單修改下即可。

#?-*-?coding:?utf-8?-*-import?paramikoclass?SSHClient:def?__init__(self,?host,?port,?user,?pkey):self.ssh_host?=?hostself.ssh_port?=?portself.ssh_user?=?userself.private_key?=?paramiko.RSAKey.from_private_key_file(pkey)self.ssh?=?Noneself._connect()def?_connect(self):self.ssh?=?paramiko.SSHClient()self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:self.ssh.connect(hostname=self.ssh_host,?port=self.ssh_port,?username=self.ssh_user,?pkey=self.private_key,?timeout=10)except:return?'ssh?connect?fail'def?execute_command(self,?command):stdin,?stdout,?stderr?=?self.ssh.exec_command(command)out?=?stdout.read()err?=?stderr.read()return?out,?errdef?close(self):self.ssh.close()

Saltstack 客戶端

通過 api 對 Saltstack 服務端進行操作,執行命令。

#!/usr/bin/env?python #?-*-?coding:utf-8?-*-import?requests import?json import?copyclass?SaltApi:"""定義salt?api接口的類初始化獲得token"""def?__init__(self):self.url?=?"http://172.85.10.21:8000/"self.username?=?"saltapi"self.password?=?"saltapi"self.headers?=?{"Content-type":?"application/json"}self.params?=?{'client':?'local',?'fun':?None,?'tgt':?None,?'arg':?None}self.login_url?=?self.url?+?"login"self.login_params?=?{'username':?self.username,?'password':?self.password,?'eauth':?'pam'}self.token?=?self.get_data(self.login_url,?self.login_params)['token']self.headers['X-Auth-Token']?=?self.tokendef?get_data(self,?url,?params):'''請求url獲取數據:param?url:?請求的url地址:param?params:?傳遞給url的參數:return:?請求的結果'''send_data?=?json.dumps(params)request?=?requests.post(url,?data=send_data,?headers=self.headers)response?=?request.json()result?=?dict(response)return?result['return'][0]def?get_auth_keys(self):'''獲取所有已經認證的key:return:'''data?=?copy.deepcopy(self.params)data['client']?=?'wheel'data['fun']?=?'key.list_all'result?=?self.get_data(self.url,?data)try:return?result['data']['return']['minions']except?Exception?as?e:return?str(e)def?get_grains(self,?tgt,?arg='id'):"""獲取系統基礎信息:tgt:?目標主機:return:"""data?=?copy.deepcopy(self.params)if?tgt:data['tgt']?=?tgtelse:data['tgt']?=?'*'data['fun']?=?'grains.item'data['arg']?=?argresult?=?self.get_data(self.url,?data)return?resultdef?execute_command(self,?tgt,?fun='cmd.run',?arg=None,?tgt_type='list',?salt_async=False):"""執行saltstack?模塊命令,類似于salt?'*'?cmd.run?'command':param?tgt:?目標主機:param?fun:?模塊方法?可為空:param?arg:?傳遞參數?可為空:return:?執行結果"""data?=?copy.deepcopy(self.params)if?not?tgt:?return?{'status':?False,?'msg':?'target?host?not?exist'}if?not?arg:data.pop('arg')else:data['arg']?=?argif?tgt?!=?'*':data['tgt_type']?=?tgt_typeif?salt_async:?data['client']?=?'local_async'data['fun']?=?fundata['tgt']?=?tgtresult?=?self.get_data(self.url,?data)return?resultdef?jobs(self,?fun='detail',?jid=None):"""任務:param?fun:?active,?detail:param?jod:?Job?ID:return:?任務執行結果"""data?=?{'client':?'runner'}data['fun']?=?funif?fun?==?'detail':if?not?jid:?return?{'success':?False,?'msg':?'job?id?is?none'}data['fun']?=?'jobs.lookup_jid'data['jid']?=?jidelse:return?{'success':?False,?'msg':?'fun?is?active?or?detail'}result?=?self.get_data(self.url,?data)return?result

更多關于 Saltstack 相關的原創文章可參考:

  • Saltstack 集中化管理平臺安裝

  • 利用 Saltstack 遠程執行命令

  • 跟我學 Saltstack 常用模塊及 API

  • 如何在 Saltstack 組件下收集被控主機的信息?

  • 如何通過 Saltstack pillar 組件定義與被控主機相關的任何數據?

vCenter 客戶端

通過官方 SDK 對 vCenter 進行日常操作,此腳本是我用于 cmdb 平臺的,自動獲取主機信息,存入數據庫。

from?pyVim.connect?import?SmartConnect,?Disconnect,?SmartConnectNoSSL from?pyVmomi?import?vim from?asset?import?models import?atexitclass?Vmware:def?__init__(self,?ip,?user,?password,?port,?idc,?vcenter_id):self.ip?=?ipself.user?=?userself.password?=?passwordself.port?=?portself.idc_id?=?idcself.vcenter_id?=?vcenter_iddef?get_obj(self,?content,?vimtype,?name=None):'''列表返回,name?可以指定匹配的對象'''container?=?content.viewManager.CreateContainerView(content.rootFolder,?vimtype,?True)obj?=?[?view?for?view?in?container.view?]return?objdef?get_esxi_info(self):#?宿主機信息esxi_host?=?{}res?=?{"connect_status":?True,?"msg":?None}try:#?connect?this?thingsi?=?SmartConnectNoSSL(host=self.ip,?user=self.user,?pwd=self.password,?port=self.port,?connectionPoolTimeout=60)except?Exception?as?e:res['connect_status']?=?Falsetry:res['msg']?=?("%s?Caught?vmodl?fault?:?"?+?e.msg)?%?(self.ip)except?Exception?as?e:res['msg']?=?'%s:?connection?error'?%?(self.ip)return?res#?disconnect?this?thingatexit.register(Disconnect,?si)content?=?si.RetrieveContent()esxi_obj?=?self.get_obj(content,?[vim.HostSystem])for?esxi?in?esxi_obj:esxi_host[esxi.name]?=?{}esxi_host[esxi.name]['idc_id']?=?self.idc_idesxi_host[esxi.name]['vcenter_id']?=?self.vcenter_idesxi_host[esxi.name]['server_ip']?=?esxi.nameesxi_host[esxi.name]['manufacturer']?=?esxi.summary.hardware.vendoresxi_host[esxi.name]['server_model']?=?esxi.summary.hardware.modelfor?i?in?esxi.summary.hardware.otherIdentifyingInfo:if?isinstance(i,?vim.host.SystemIdentificationInfo):esxi_host[esxi.name]['server_sn']?=?i.identifierValue#?系統名稱esxi_host[esxi.name]['system_name']?=?esxi.summary.config.product.fullName#?cpu總核數esxi_cpu_total?=?esxi.summary.hardware.numCpuThreads#?內存總量?GBesxi_memory_total?=?esxi.summary.hardware.memorySize?/?1024?/?1024?/?1024#?獲取硬盤總量?GBesxi_disk_total?=?0for?ds?in?esxi.datastore:esxi_disk_total?+=?ds.summary.capacity?/?1024?/?1024?/?1024#?默認配置4核8G100G,根據這個配置計算剩余可分配虛擬機default_configure?=?{'cpu':?4,'memory':?8,'disk':?100}esxi_host[esxi.name]['vm_host']?=?[]vm_usage_total_cpu?=?0vm_usage_total_memory?=?0vm_usage_total_disk?=?0#?虛擬機信息for?vm?in?esxi.vm:host_info?=?{}host_info['vm_name']?=?vm.namehost_info['power_status']?=?vm.runtime.powerStatehost_info['cpu_total_kernel']?=?str(vm.config.hardware.numCPU)?+?'核'host_info['memory_total']?=?str(vm.config.hardware.memoryMB)?+?'MB'host_info['system_info']?=?vm.config.guestFullNamedisk_info?=?''disk_total?=?0for?d?in?vm.config.hardware.device:if?isinstance(d,?vim.vm.device.VirtualDisk):disk_total?+=?d.capacityInKB?/?1024?/?1024disk_info?+=?d.deviceInfo.label?+?":?"?+??str((d.capacityInKB)?/?1024?/?1024)?+?'?GB'?+?','host_info['disk_info']?=?disk_infoesxi_host[esxi.name]['vm_host'].append(host_info)#?計算當前宿主機可用容量:總量?-?已分配的if?host_info['power_status']?==?'poweredOn':vm_usage_total_cpu?+=?vm.config.hardware.numCPUvm_usage_total_disk?+=?disk_totalvm_usage_total_memory?+=?(vm.config.hardware.memoryMB?/?1024)esxi_cpu_free?=?esxi_cpu_total?-?vm_usage_total_cpuesxi_memory_free?=?esxi_memory_total?-?vm_usage_total_memoryesxi_disk_free?=?esxi_disk_total?-?vm_usage_total_diskesxi_host[esxi.name]['cpu_info']?=?'Total:?%d核,?Free:?%d核'?%?(esxi_cpu_total,?esxi_cpu_free)esxi_host[esxi.name]['memory_info']?=?'Total:?%dGB,?Free:?%dGB'?%?(esxi_memory_total,?esxi_memory_free)esxi_host[esxi.name]['disk_info']?=?'Total:?%dGB,?Free:?%dGB'?%?(esxi_disk_total,?esxi_disk_free)#?計算cpu?內存?磁盤按照默認資源分配的最小值,即為當前可分配資源if?esxi_cpu_free?<?4?or?esxi_memory_free?<?8?or?esxi_disk_free?<?100:free_allocation_vm_host?=?0else:free_allocation_vm_host?=?int(min([esxi_cpu_free?/?default_configure['cpu'],esxi_memory_free?/?default_configure['memory'],esxi_disk_free?/?default_configure['disk']]))esxi_host[esxi.name]['free_allocation_vm_host']?=?free_allocation_vm_hostesxi_host['connect_status']?=?Truereturn?esxi_hostdef?write_to_db(self):esxi_host?=?self.get_esxi_info()#?連接失敗if?not?esxi_host['connect_status']:return?esxi_hostdel?esxi_host['connect_status']for?machine_ip?in?esxi_host:#?物理機信息esxi_host_dict?=?esxi_host[machine_ip]#?虛擬機信息virtual_host?=?esxi_host[machine_ip]['vm_host']del?esxi_host[machine_ip]['vm_host']obj?=?models.EsxiHost.objects.create(**esxi_host_dict)obj.save()for?host_info?in?virtual_host:host_info['management_host_id']?=?obj.idobj2?=?models.virtualHost.objects.create(**host_info)obj2.save()

獲取域名 ssl 證書過期時間

用于 zabbix 告警

import?re import?sys import?time import?subprocess from?datetime?import?datetime from?io?import?StringIOdef?main(domain):f?=?StringIO()comm?=?f"curl?-Ivs?https://{domain}?--connect-timeout?10"result?=?subprocess.getstatusoutput(comm)f.write(result[1])try:m?=?re.search('start?date:?(.*?)\n.*?expire?date:?(.*?)\n.*?common?name:?(.*?)\n.*?issuer:?CN=(.*?)\n',?f.getvalue(),?re.S)start_date?=?m.group(1)expire_date?=?m.group(2)common_name?=?m.group(3)issuer?=?m.group(4)except?Exception?as?e:return?999999999#?time?字符串轉時間數組start_date?=?time.strptime(start_date,?"%b?%d?%H:%M:%S?%Y?GMT")start_date_st?=?time.strftime("%Y-%m-%d?%H:%M:%S",?start_date)#?datetime?字符串轉時間數組expire_date?=?datetime.strptime(expire_date,?"%b?%d?%H:%M:%S?%Y?GMT")expire_date_st?=?datetime.strftime(expire_date,"%Y-%m-%d?%H:%M:%S")#?剩余天數remaining?=?(expire_date-datetime.now()).daysreturn?remaining?if?__name__?==?"__main__":domain?=?sys.argv[1]?remaining_days?=?main(domain)print(remaining_days)

發送今天的天氣預報以及未來的天氣趨勢圖

此腳本用于給老婆大人發送今天的天氣預報以及未來的天氣趨勢圖,現在微信把網頁端禁止了,沒法發送到微信了,我是通過企業微信進行通知的,需要把你老婆大人拉到企業微信,無興趣的小伙伴跳過即可。

????#?-*-?coding:?utf-8?-*-import?requestsimport?jsonimport?datetimedef?weather(city):url?=?"http://wthrcdn.etouch.cn/weather_mini?city=%s"?%?citytry:data?=?requests.get(url).json()['data']city?=?data['city']ganmao?=?data['ganmao']today_weather?=?data['forecast'][0]res?=?"老婆今天是{}\n今天天氣概況\n城市:?{:<10}\n時間:?{:<10}\n高溫:?{:<10}\n低溫:?{:<10}\n風力:?{:<10}\n風向:?{:<10}\n天氣:?{:<10}\n\n稍后會發送近期溫度趨勢圖,請注意查看。\".format(ganmao,city,datetime.datetime.now().strftime('%Y-%m-%d'),today_weather['high'].split()[1],today_weather['low'].split()[1],today_weather['fengli'].split('[')[2].split(']')[0],today_weather['fengxiang'],today_weather['type'],)return?{"source_data":?data,?"res":?res}except?Exception?as?e:return?str(e)```+?獲取天氣預報趨勢圖```python#?-*-?coding:?utf-8?-*-import?matplotlib.pyplot?as?pltimport?reimport?datetimedef?Future_weather_states(forecast,?save_path,?day_num=5):'''展示未來的天氣預報趨勢圖:param?forecast:?天氣預報預測的數據:param?day_num:?未來幾天:return:?趨勢圖'''future_forecast?=?forecastdict={}for?i?in?range(day_num):data?=?[]date?=?future_forecast[i]["date"]date?=?int(re.findall("\d+",date)[0])data.append(int(re.findall("\d+",?future_forecast[i]["high"])[0]))data.append(int(re.findall("\d+",?future_forecast[i]["low"])[0]))data.append(future_forecast[i]["type"])dict[date]?=?datadata_list?=?sorted(dict.items())date=[]high_temperature?=?[]low_temperature?=?[]for?each?in?data_list:date.append(each[0])high_temperature.append(each[1][0])low_temperature.append(each[1][1])fig?=?plt.plot(date,high_temperature,"r",date,low_temperature,"b")current_date?=?datetime.datetime.now().strftime('%Y-%m')plt.rcParams['font.sans-serif']?=?['SimHei']plt.rcParams['axes.unicode_minus']?=?Falseplt.xlabel(current_date)plt.ylabel("℃")plt.legend(["高溫",?"低溫"])plt.xticks(date)plt.title("最近幾天溫度變化趨勢")plt.savefig(save_path)```+?發送到企業微信```python#?-*-?coding:?utf-8?-*-import?requestsimport?jsonclass?DLF:def?__init__(self,?corpid,?corpsecret):self.url?=?"https://qyapi.weixin.qq.com/cgi-bin"self.corpid?=?corpidself.corpsecret?=?corpsecretself._token?=?self._get_token()def?_get_token(self):'''獲取企業微信API接口的access_token:return:'''token_url?=?self.url?+?"/gettoken?corpid=%s&corpsecret=%s"?%(self.corpid,?self.corpsecret)try:res?=?requests.get(token_url).json()token?=?res['access_token']return?tokenexcept?Exception?as?e:return?str(e)def?_get_media_id(self,?file_obj):get_media_url?=?self.url?+?"/media/upload?access_token={}&type=file".format(self._token)data?=?{"media":?file_obj}try:res?=?requests.post(url=get_media_url,?files=data)media_id?=?res.json()['media_id']return?media_idexcept?Exception?as?e:return?str(e)def?send_text(self,?agentid,?content,?touser=None,?toparty=None):send_msg_url?=?self.url?+?"/message/send?access_token=%s"?%?(self._token)send_data?=?{"touser":?touser,"toparty":?toparty,"msgtype":?"text","agentid":?agentid,"text":?{"content":?content}}try:res?=?requests.post(send_msg_url,?data=json.dumps(send_data))except?Exception?as?e:return?str(e)def?send_image(self,?agentid,?file_obj,?touser=None,?toparty=None):media_id?=?self._get_media_id(file_obj)send_msg_url?=?self.url?+?"/message/send?access_token=%s"?%?(self._token)send_data?=?{"touser":?touser,"toparty":?toparty,"msgtype":?"image","agentid":?agentid,"image":?{"media_id":?media_id}}try:res?=?requests.post(send_msg_url,?data=json.dumps(send_data))except?Exception?as?e:return?str(e) +?main腳本#?-*-?coding:?utf-8?-*-from?plugins.weather_forecast?import?weather from?plugins.trend_chart?import?Future_weather_states from?plugins.send_wechat?import?DLF import?os#?企業微信相關信息 corpid?=?"xxx" corpsecret?=?"xxx" agentid?=?"xxx" #?天氣預報趨勢圖保存路徑 _path?=?os.path.dirname(os.path.abspath(__file__)) save_path?=?os.path.join(_path?,'./tmp/weather_forecast.jpg')#?獲取天氣預報信息 content?=?weather("大興")#?發送文字消息 dlf?=?DLF(corpid,?corpsecret) dlf.send_text(agentid=agentid,?content=content['res'],?toparty='1')#?生成天氣預報趨勢圖 Future_weather_states(content['source_data']['forecast'],?save_path) #?發送圖片消息 file_obj?=?open(save_path,?'rb') dlf.send_image(agentid=agentid,?toparty='1',?file_obj=file_obj)

Shell?腳本部分

SVN 完整備份

通過 hotcopy 進行 SVN 完整備份,備份保留 7 天。

#!/bin/bash #?Filename???:??svn_backup_repos.sh #?Date???????:??2020/12/14 #?Author?????:??JakeTian?????? #?Email??????:??JakeTian@***.com #?Crontab????:??59?23?*?*?*?/bin/bash?$BASE_PATH/svn_backup_repos.sh?>/dev/null?2>&1 #?Notes??????:??將腳本加入crontab中,每天定時執行 #?Description:??SVN完全備份set?-eSRC_PATH="/opt/svndata" DST_PATH="/data/svnbackup" LOG_FILE="$DST_PATH/logs/svn_backup.log" SVN_BACKUP_C="/bin/svnadmin?hotcopy" SVN_LOOK_C="/bin/svnlook?youngest" TODAY=$(date?+'%F') cd?$SRC_PATH ALL_REPOS=$(find?./?-maxdepth?1?-type?d?!?-name?'httpd'?-a?!?-name?'bak'?|?tr?-d?'./')#?創建備份目錄,備份腳本日志目錄 test?-d?$DST_PATH?||?mkdir?-p?$DST_PATH test?-d?$DST_PATH/logs?||?mkdir?$DST_PATH/logs test?-d?$DST_PATH/$TODAY?||?mkdir?$DST_PATH/$TODAY#?備份repos文件 for?repo?in?$ALL_REPOS do$SVN_BACKUP_C?$SRC_PATH/$repo?$DST_PATH/$TODAY/$repo#?判斷備份是否完成if?$SVN_LOOK_C?$DST_PATH/$TODAY/$repo;thenecho?"$TODAY:?$repo?Backup?Success"?>>?$LOG_FILE?elseecho?"$TODAY:?$repo?Backup?Fail"?>>?$LOG_FILEfi done#?#?備份用戶密碼文件和權限文件 cp?-p?authz?access.conf?$DST_PATH/$TODAY#?日志文件轉儲 mv?$LOG_FILE?$LOG_FILE-$TODAY#?刪除七天前的備份 seven_days_ago=$(date?-d?"7?days?ago"?+'%F') rm?-rf?$DST_PATH/$seven_days_ago

zabbix 監控用戶密碼過期

用于 Zabbix 監控 Linux 系統用戶(shell 為 /bin/bash 和 /bin/sh)密碼過期,密碼有效期剩余 7 天觸發加自動發現用戶。

#!/bin/bashdiskarray=(`awk?-F':'?'$NF?~?/\/bin\/bash/||/\/bin\/sh/{print?$1}'?/etc/passwd`) length=${#diskarray[@]}printf?"{\n" printf??'\t'"\"data\":[" for?((i=0;i<$length;i++)) doprintf?'\n\t\t{'printf?"\"{#USER_NAME}\":\"${diskarray[$i]}\"}"if?[?$i?-lt?$[$length-1]?];thenprintf?','fi done printf??"\n\t]\n" printf?"}\n"檢查用戶密碼過期#!/bin/bashexport?LANG=en_US.UTF-8SEVEN_DAYS_AGO=$(date?-d?'-7?day'?+'%s') user="$1"#?將Sep?09,?2018格式的時間轉換成unix時間 expires_date=$(sudo?chage?-l?$user?|?awk?-F':'?'/Password?expires/{print?$NF}'?|?sed?-n?'s/^?//p') if?[[?"$expires_date"?!=?"never"?]];thenexpires_date=$(date?-d?"$expires_date"?+'%s')if?[?"$expires_date"?-le?"$SEVEN_DAYS_AGO"?];thenecho?"1"elseecho?"0"fi elseecho?"0" fi

構建本地YUM

通過 rsync 的方式同步 yum,通過 nginx 只做 http yum 站點;

但是 centos6 的鏡像最近都不能用了,國內貌似都禁用了,如果找到合適的自行更換地址。

#!/bin/bash #?更新yum鏡像RsyncCommand="rsync?-rvutH?-P?--delete?--delete-after?--delay-updates?--bwlimit=1000" DIR="/app/yumData" LogDir="$DIR/logs" Centos6Base="$DIR/Centos6/x86_64/Base" Centos7Base="$DIR/Centos7/x86_64/Base" Centos6Epel="$DIR/Centos6/x86_64/Epel" Centos7Epel="$DIR/Centos7/x86_64/Epel" Centos6Salt="$DIR/Centos6/x86_64/Salt" Centos7Salt="$DIR/Centos7/x86_64/Salt" Centos6Update="$DIR/Centos6/x86_64/Update" Centos7Update="$DIR/Centos7/x86_64/Update" Centos6Docker="$DIR/Centos6/x86_64/Docker" Centos7Docker="$DIR/Centos7/x86_64/Docker" Centos6Mysql5_7="$DIR/Centos6/x86_64/Mysql/Mysql5.7" Centos7Mysql5_7="$DIR/Centos7/x86_64/Mysql/Mysql5.7" Centos6Mysql8_0="$DIR/Centos6/x86_64/Mysql/Mysql8.0" Centos7Mysql8_0="$DIR/Centos7/x86_64/Mysql/Mysql8.0" MirrorDomain="rsync://rsync.mirrors.ustc.edu.cn"#?目錄不存在就創建 check_dir(){for?dir?in?$*dotest?-d?$dir?||?mkdir?-p?$dirdone }#?檢查rsync同步結果 check_rsync_status(){if?[?$??-eq?0?];thenecho?"rsync?success"?>>?$1elseecho?"rsync?fail"?>>?$1fi }check_dir?$DIR?$LogDir?$Centos6Base?$Centos7Base?$Centos6Epel?$Centos7Epel?$Centos6Salt?$Centos7Salt?$Centos6Update?$Centos7Update?$Centos6Docker?$Centos7Docker?$Centos6Mysql5_7?$Centos7Mysql5_7?$Centos6Mysql8_0?$Centos7Mysql8_0#?Base?yumrepo #$RsyncCommand?"$MirrorDomain"/repo/centos/6/os/x86_64/?$Centos6Base?>>?"$LogDir/centos6Base.log"?2>&1 #?check_rsync_status?"$LogDir/centos6Base.log" $RsyncCommand?"$MirrorDomain"/repo/centos/7/os/x86_64/?$Centos7Base?>>?"$LogDir/centos7Base.log"?2>&1 check_rsync_status?"$LogDir/centos7Base.log"#?Epel?yumrepo #?$RsyncCommand?"$MirrorDomain"/repo/epel/6/x86_64/?$Centos6Epel?>>?"$LogDir/centos6Epel.log"?2>&1 #?check_rsync_status?"$LogDir/centos6Epel.log" $RsyncCommand?"$MirrorDomain"/repo/epel/7/x86_64/?$Centos7Epel?>>?"$LogDir/centos7Epel.log"?2>&1 check_rsync_status?"$LogDir/centos7Epel.log"#?SaltStack?yumrepo #?$RsyncCommand?"$MirrorDomain"/repo/salt/yum/redhat/6/x86_64/?$Centos6Salt?>>?"$LogDir/centos6Salt.log"?2>&1 #?ln?-s?$Centos6Salt/archive/$(ls?$Centos6Salt/archive?|?tail?-1)?$Centos6Salt/latest #?check_rsync_status?"$LogDir/centos6Salt.log" $RsyncComman?"$MirrorDomain"/repo/salt/yum/redhat/7/x86_64/?$Centos7Salt?>>?"$LogDir/centos7Salt.log"?2>&1 check_rsync_status?"$LogDir/centos7Salt.log" #?ln?-s?$Centos7Salt/archive/$(ls?$Centos7Salt/archive?|?tail?-1)?$Centos7Salt/latest#?Docker?yumrepo $RsyncCommand?"$MirrorDomain"/repo/docker-ce/linux/centos/7/x86_64/stable/?$Centos7Docker?>>?"$LogDir/centos7Docker.log"?2>&1 check_rsync_status?"$LogDir/centos7Docker.log"#?centos?update?yumrepo #?$RsyncCommand?"$MirrorDomain"/repo/centos/6/updates/x86_64/?$Centos6Update?>>?"$LogDir/centos6Update.log"?2>&1 #?check_rsync_status?"$LogDir/centos6Update.log" $RsyncCommand?"$MirrorDomain"/repo/centos/7/updates/x86_64/?$Centos7Update?>>?"$LogDir/centos7Update.log"?2>&1 check_rsync_status?"$LogDir/centos7Update.log"#?mysql?5.7?yumrepo #?$RsyncCommand?"$MirrorDomain"/repo/mysql-repo/yum/mysql-5.7-community/el/6/x86_64/?"$Centos6Mysql5_7"?>>?"$LogDir/centos6Mysql5.7.log"?2>&1 #?check_rsync_status?"$LogDir/centos6Mysql5.7.log" $RsyncCommand?"$MirrorDomain"/repo/mysql-repo/yum/mysql-5.7-community/el/7/x86_64/?"$Centos7Mysql5_7"?>>?"$LogDir/centos7Mysql5.7.log"?2>&1 check_rsync_status?"$LogDir/centos7Mysql5.7.log"#?mysql?8.0?yumrepo #?$RsyncCommand?"$MirrorDomain"/repo/mysql-repo/yum/mysql-8.0-community/el/6/x86_64/?"$Centos6Mysql8_0"?>>?"$LogDir/centos6Mysql8.0.log"?2>&1 #?check_rsync_status?"$LogDir/centos6Mysql8.0.log" $RsyncCommand?"$MirrorDomain"/repo/mysql-repo/yum/mysql-8.0-community/el/7/x86_64/?"$Centos7Mysql8_0"?>>?"$LogDir/centos7Mysql8.0.log"?2>&1 check_rsync_status?"$LogDir/centos7Mysql8.0.log"

讀者需求解答

負載高時,查出占用比較高的進程腳本并存儲或推送通知

這部分內容是上篇 Shell 腳本實例中底部讀者留言的需求,如下:

#!/bin/bash#?物理cpu個數 physical_cpu_count=$(egrep?'physical?id'?/proc/cpuinfo?|?sort?|?uniq?|?wc?-l) #?單個物理cpu核數 physical_cpu_cores=$(egrep?'cpu?cores'?/proc/cpuinfo?|?uniq?|?awk?'{print?$NF}') #?總核數 total_cpu_cores=$((physical_cpu_count*physical_cpu_cores))#?分別是一分鐘、五分鐘、十五分鐘負載的閾值,其中有一項超過閾值才會觸發 one_min_load_threshold="$total_cpu_cores" five_min_load_threshold=$(awk?'BEGIN?{print?'"$total_cpu_cores"'?*?"0.8"}') fifteen_min_load_threshold=$(awk?'BEGIN?{print?'"$total_cpu_cores"'?*?"0.7"}')#?分別是分鐘、五分鐘、十五分鐘負載平均值 one_min_load=$(uptime?|?awk?'{print?$(NF-2)}'?|?tr?-d?',') five_min_load=$(uptime?|?awk?'{print?$(NF-1)}'?|?tr?-d?',') fifteen_min_load=$(uptime?|?awk?'{print?$NF}'?|?tr?-d?',')#?獲取當前cpu?內存?磁盤io信息,并寫入日志文件 #?如果需要發送消息或者調用其他,請自行編寫函數即可 get_info(){log_dir="cpu_high_script_log"test?-d?"$log_dir"?||?mkdir?"$log_dir"ps?-eo?user,pid,%cpu,stat,time,command?--sort?-%cpu?|?head?-10?>?"$log_dir"/cpu_top10.logps?-eo?user,pid,%mem,rss,vsz,stat,time,command?--sort?-%mem?|?head?-10?>?"$log_dir"/mem_top10.logiostat?-dx?1?10?>?"$log_dir"/disk_io_10.log }export?-f?get_infoecho?"$one_min_load?$one_min_load_threshold?$five_min_load?$five_min_load_threshold?$fifteen_min_load?$fifteen_min_load_threshold"?|?\ awk?'{?if?($1>=$2?||?$3>=$4?||?$5>=$6)?system("get_info")?}'

以上,就是今天分享的全部內容了。

希望大家通過這些案例能夠學以致用,結合自身的實際場景進行運用,從而提高自己的工作效率。

如果你有更多腳本實例,也歡迎大家分享或通過本文留言區進行留言說說你具體的腳本實例需求,如果實例過多的話,下次杰哥在整一篇合集腳本文章實例來跟大家分享。

腳本實例文件:

鏈接:https://pan.baidu.com/s/1TxSnQUtk3soKhbivWeYLIg 提取碼:y8pn

推薦閱讀

誤執行了rm -fr /*之后,除了跑路還能怎么辦?!

程序員必備58個網站匯總

大幅提高生產力:你需要了解的十大Jupyter Lab插件

總結

以上是生活随笔為你收集整理的超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩免费视频网站 | 丁香久久综合 | 国产成人精品久久久 | 国产在线免费 | 2022国产精品视频 | 亚洲在线网址 | 人人精久 | 久草在线视频新 | 久久综合久久久 | 成人在线视频一区 | 欧美久久久久久久久久久 | 午夜精品久久久久久久99婷婷 | 91网站免费观看 | 视频在线观看日韩 | 免费视频 三区 | 人人爽人人澡人人添人人人人 | 亚洲久在线 | 久久久久综合精品福利啪啪 | 99这里只有精品视频 | 精品国产免费久久 | 国产精品专区h在线观看 | 精品国产区在线 | 久草在线视频网 | 亚洲精品午夜久久久久久久 | 久草视频免费在线观看 | 中国一级片免费看 | 伊人电影在线观看 | 国产亚洲精品av | 日本中文字幕在线看 | 色欧美成人精品a∨在线观看 | 中文字幕美女免费在线 | 亚洲色图 校园春色 | 欧美亚洲国产日韩 | 久草免费在线视频观看 | 日韩免费在线一区 | 久久国产网站 | 色91在线| 久久久久久久久电影 | 日韩中文字幕亚洲一区二区va在线 | 色综合久久88色综合天天免费 | 国产精品美女久久久久aⅴ 干干夜夜 | 国产成人三级一区二区在线观看一 | av福利电影 | 中文字幕乱码电影 | 日韩视频免费看 | 久久久精品国产免费观看一区二区 | 日韩视频一区二区在线 | 天天操,夜夜操 | 在线电影 你懂得 | 国产男男gay做爰 | 亚洲黄色成人av | av在线播放快速免费阴 | 又黄又刺激视频 | 99久久综合狠狠综合久久 | 黄色a在线观看 | 午夜精品久久久久久久久久久久 | 亚洲九九九 | 综合色站导航 | 国产精品福利在线观看 | 中文字幕一区二区三区在线观看 | 国产综合精品久久 | 中文字幕在线观看完整版电影 | 国产123区在线观看 国产精品麻豆91 | 97成人在线观看视频 | 亚洲精品动漫在线 | 中文字幕在线播放第一页 | 亚洲少妇自拍 | 久久国产精品影片 | 久久伦理| 国产色视频一区 | 欧美一级性 | 成人av一区二区兰花在线播放 | 久久精品91久久久久久再现 | 久久久久日本精品一区二区三区 | 中文字幕 国产视频 | 四虎成人精品永久免费av | 成在人线av | 亚洲国产精品成人va在线观看 | 黄色片网站av| 日日夜日日干 | av福利网址导航 | 天天av综合网 | 亚洲成人精品在线观看 | 欧美黑人巨大xxxxx | 国产h片在线观看 | 久久99免费 | 国产精品自产拍在线观看 | 久久毛片高清国产 | 国产精品一区二区你懂的 | 亚洲1区在线| 在线免费观看黄网站 | 麻豆视频免费看 | 88av网站 | 国产女人40精品一区毛片视频 | 日日夜夜精品免费视频 | 免费观看性生活大片 | 午夜av一区二区三区 | 91九色蝌蚪视频 | 国产中文伊人 | 亚洲午夜精品一区二区三区电影院 | 国产精品美女久久久久aⅴ 干干夜夜 | av中文字幕电影 | 特级西西人体444是什么意思 | 日韩欧美视频在线 | 六月丁香久久 | 正在播放亚洲精品 | 日日夜操 | 在线免费观看的av网站 | 五月婷婷在线观看视频 | 久草国产在线观看 | 亚洲国产影院 | 丁香六月婷婷开心婷婷网 | 91九色精品 | 日韩av不卡播放 | 在线观看国产区 | 狠狠躁夜夜av | 日韩欧美精品一区二区 | 97国产在线播放 | 久久久久久高潮国产精品视 | 午夜精品久久久久久久久久久久久久 | 99精品免费久久久久久日本 | 国产特级毛片aaaaaa | 亚洲国产三级在线观看 | 国产一区二区三区午夜 | 最近日本字幕mv免费观看在线 | 国产不卡视频在线 | 精品国产一区二区三区日日嗨 | 久久久高清免费视频 | 在线 视频 亚洲 | 国产一区福利在线 | 久久国产精品99国产 | 亚洲精品五月天 | 久久久久久欧美二区电影网 | 国产高清视频在线播放 | 99视频在线免费播放 | 最近中文字幕高清字幕免费mv | 美女精品久久 | 久草色在线观看 | 国产免费观看视频 | 久久综合久久综合久久 | 日本中文字幕在线观看 | 免费下载高清毛片 | 麻豆激情电影 | 美女免费视频网站 | 国产99久 | 成 人 黄 色视频免费播放 | 亚洲一区二区精品 | 欧美视频一区二 | 国产精品一区二区三区免费视频 | 国产精品久久久久国产精品日日 | 免费日韩在线 | 在线影院 国内精品 | 在线 精品 国产 | 免费久久99精品国产 | 中文字幕色在线 | 国产伦精品一区二区三区… | 2017狠狠干 | 天天精品视频 | 国产精品一区二区久久久 | 亚洲精品乱码 | 免费亚洲黄色 | 狠狠久久婷婷 | 天天拍天天爽 | 激情网第四色 | 狠狠做深爱婷婷综合一区 | 精品久久久精品 | 免费观看国产精品视频 | 欧美a级片免费看 | 色www永久免费 | 日本精品视频在线播放 | 玖玖玖在线 | 久久综合九色综合欧美就去吻 | 久久亚洲精品电影 | 国产一区二区免费在线观看 | 你操综合 | 婷婷开心久久网 | 在线观看视频免费大全 | 欧美国产不卡 | 黄色免费观看视频 | 91精品国产一区二区三区 | 在线观看一区 | 国产成人黄色网址 | 亚洲欧美视频一区二区三区 | 婷婷激情站 | 国产成人精品午夜在线播放 | 日韩激情免费视频 | 欧美性春潮 | 日韩av进入 | 九九激情视频 | 国产在线v | 欧美久久久一区二区三区 | 天天操天天操天天操天天操天天操天天操 | 国产亚洲精品成人av久久ww | 国产伦精品一区二区三区无广告 | 亚洲午夜久久久影院 | 中文字幕有码在线播放 | 91精品国自产拍天天拍 | 99精品亚洲 | 美女国产免费 | 在线色亚洲 | 欧美成人在线免费观看 | 久草在线观看视频免费 | 国产激情电影综合在线看 | 黄视频网站大全 | 亚洲aⅴ一区二区三区 | 亚洲码国产日韩欧美高潮在线播放 | 丁香六月婷婷激情 | 最新色站| 91精品国产自产在线观看永久 | 人交video另类hd | 999成人| 中国一级片在线播放 | 久久九九久久精品 | 中文字幕韩在线第一页 | 人人讲| 天天操狠狠操夜夜操 | 国产成人一区二区三区在线观看 | 国产99自拍| 日韩成人精品在线观看 | 久久这里 | 99视频久| 人人爽人人爽人人片 | 国产午夜精品一区 | 国产精品美女久久久久久2018 | 开心色激情网 | 在线电影日韩 | 69国产盗摄一区二区三区五区 | 91桃色在线免费观看 | 国产韩国精品一区二区三区 | 涩涩爱夜夜爱 | 久久人人插 | 字幕网资源站中文字幕 | 久久夜色精品国产欧美一区麻豆 | 97色噜噜 | 国内少妇自拍视频一区 | 91九色成人 | 婷婷五月情| 天堂资源在线观看视频 | 一区二区中文字幕在线观看 | 久久综合丁香 | 久久少妇免费视频 | 婷婷草 | 夜色资源站国产www在线视频 | 欧美大片在线看免费观看 | 国产精品一区久久久久 | 99精品视频网站 | 丁香 久久 综合 | 黄色午夜| 国产 日韩 在线 亚洲 字幕 中文 | 日本在线视频网址 | 精品福利网站 | 91在线一区| 亚洲自拍自偷 | 日韩在线不卡视频 | 99久久999久久久精玫瑰 | 9在线观看免费高清完整 | 免费看国产a | av网站手机在线观看 | 久久午夜视频 | 狠狠的干 | 91九色porny蝌蚪视频 | 精品福利在线观看 | 人人玩人人添人人 | 久久久精品电影 | 91麻豆精品国产91久久久久久久久 | 免费观看黄| 在线观看色网站 | 婷婷激情小说网 | 久久高清免费 | 精品成人a区在线观看 | 欧美激情第八页 | 欧美一区中文字幕 | 福利久久 | 欧美视频国产视频 | 91精彩视频在线观看 | 国产精品一区二区吃奶在线观看 | 成人免费视频免费观看 | 最新在线你懂的 | 爱爱av网站| 视频成人永久免费视频 | 在线精品视频在线观看高清 | 九九热久久免费视频 | 91香蕉视频黄 | 欧美伊人网 | 亚洲精品在线国产 | 中文字幕国产一区二区 | 久久久久国产a免费观看rela | 国产第一页福利影院 | 欧美性生活久久 | www日| 在线免费性生活片 | 日日夜夜操操操操 | 久久精品久久久久电影 | 国产亚洲视频系列 | 97超碰人人澡 | 一区二区三区四区久久 | 五月婷婷丁香网 | 国产在线精品一区二区三区 | 亚洲精品在线看 | 色开心| 在线观看午夜av | 国产亚洲婷婷 | 99久久免费看 | 国产激情久久久 | 国内久久 | 天天色成人 | 日韩一级片网址 | 久久草草热国产精品直播 | 免费av高清 | 一区二区视频免费在线观看 | 成人app在线免费观看 | 久久国产免费看 | 中文字幕电影一区 | 日本中文字幕视频 | 日韩免费电影 | 综合色站 | 国产一区二区日本 | 亚洲 欧美变态 另类 综合 | 久操视频在线 | 人人dvd | 成人久久影院 | 97在线免费视频 | 人人干天天干 | 欧美一级免费在线 | 久草视频在线播放 | 91精品视频免费看 | 久久久久久免费网 | 欧美一二三视频 | 国产精品字幕 | 欧美粗又大| 国产精品v a免费视频 | 人人玩人人添人人澡超碰 | 制服丝袜一区二区 | 色播五月激情五月 | 日本最大色倩网站www | 在线观看国产www | 狠狠色噜噜狠狠狠狠2022 | 99精品国产高清在线观看 | 综合久久久久久久久 | 午夜精品久久久久久久99婷婷 | 国产精品日韩高清 | 天天射天天操天天色 | 日韩理论片在线 | 激情综合网在线观看 | 玖玖爱国产在线 | 中文字幕国产一区二区 | 成人免费亚洲 | av亚洲产国偷v产偷v自拍小说 | 欧美欧美 | 成片免费观看视频大全 | 综合网婷婷 | 麻豆视频在线免费看 | 韩国视频一区二区三区 | 在线看91| 国产经典 欧美精品 | 国产精品s色| 久草视频免费观 | 四虎5151久久欧美毛片 | 911国产在线观看 | 日日摸日日爽 | 天天天天色射综合 | 欧美亚洲免费在线一区 | 亚洲伦理一区 | 国产精品福利小视频 | 99久久婷婷国产综合亚洲 | 成人在线视频免费观看 | www91在线观看 | 国产 欧美 日产久久 | 免费色av| 欧美乱码精品一区 | 粉嫩av一区二区三区四区五区 | 国产精品一区二区中文字幕 | 中文字幕在线观看网 | 亚洲成年人在线播放 | 在线a人片免费观看视频 | 综合色伊人 | 国产精品 国产精品 | 国产a免费 | 久久狠狠一本精品综合网 | 国产人成精品一区二区三 | 亚洲一级片在线观看 | 色噜噜在线观看视频 | 色婷婷狠狠 | 毛片美女网站 | 99热在线国产 | 精品一区二区视频 | 狠狠狠狠狠狠操 | 成人黄色小说视频 | 国产在线1区 | 2018亚洲男人天堂 | 日韩在线播放视频 | 亚洲综合成人专区片 | 最新午夜电影 | 麻豆视频观看 | 欧美久久久久久久 | 91久久精品日日躁夜夜躁国产 | 国产自在线| 天天操天天干天天 | 激情在线网站 | 欧美激情亚洲综合 | www.狠狠操.com | 国内毛片毛片 | 久久不色| 成人黄色片在线播放 | 国产在线不卡 | 日韩欧美综合在线视频 | 久久手机在线视频 | 日本精品久久久久中文字幕 | 色噜噜在线观看视频 | 波多野结衣综合网 | 久久美女精品 | 91在线视频一区 | av黄免费看 | 日韩在线观看第一页 | 99产精品成人啪免费网站 | 黄色福利网 | 久久久久伦理电影 | 成人免费观看视频网站 | 97视频资源 | av蜜桃在线| 日韩有码在线播放 | 国产精品一区二区三区视频免费 | 日韩精品视频免费专区在线播放 | 天天曰天天 | 免费激情在线电影 | av在线影视 | 丁香久久综合 | 久草在线费播放视频 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲成人网av | 日韩视频在线播放 | 97在线影院 | 亚洲欧美一区二区三区孕妇写真 | 超碰国产在线观看 | 日韩精品一区二区免费视频 | 成人免费视频播放 | 成人久久久久久久久久 | 日韩a在线 | 婷婷色影院 | 91伊人影院| 成人黄色免费观看 | 蜜桃视频日韩 | 亚洲综合成人av | 久久综合婷婷综合 | 欧美a√在线 | 久久婷婷综合激情 | 视频直播国产精品 | 国产精品一区二区免费 | www.伊人网 | 中文字幕日本特黄aa毛片 | 亚洲精选视频免费看 | 人人射人人| 99精品黄色片免费大全 | 久久在线精品视频 | 97电影院在线观看 | 黄色大片免费网站 | 国产成人91 | 中文资源在线官网 | 狠狠狠狠狠干 | 国产尤物在线视频 | 国产美女免费观看 | 韩国av在线播放 | 五月天精品视频 | 日韩在线观看高清 | 国产97碰免费视频 | 国产精品午夜久久久久久99热 | 久久天堂网站 | 国产精品成人一区二区三区吃奶 | 成人av一区二区兰花在线播放 | 国产精品久久久久久av | 亚洲在线观看av | 96精品视频| 精品亚洲网 | 波多野结衣在线中文字幕 | 人人射人人 | 四虎在线观看精品视频 | 免费看国产精品 | 亚洲乱码久久 | 中文字幕第一页在线 | 国产一区二区三区免费观看视频 | 国产成人一二三 | 亚洲乱码精品久久久久 | 免费日韩一区二区三区 | 国产成人精品一区二三区 | 男女日麻批 | www麻豆视频| 最近中文字幕大全中文字幕免费 | 在线观看视频99 | 黄污在线看| 国产亚洲精品美女久久 | 久草在线免费在线观看 | 日本aa在线 | 99高清视频有精品视频 | 亚洲 综合 专区 | av大全免费在线观看 | 日本性视频 | 青春草视频在线播放 | 热久久免费视频精品 | 91麻豆免费版 | 日韩欧美黄色网址 | 天天摸天天舔天天操 | av中文字幕日韩 | 在线视频专区 | 在线视频成人 | 在线免费国产视频 | 97成人精品区在线播放 | 特级毛片爽www免费版 | 丁香九月激情综合 | 久久人人做| 久久这里只有精品视频首页 | 亚洲精品国偷拍自产在线观看蜜桃 | 国内精品久久久久久中文字幕 | 在线观看一级 | 亚洲精品456在线播放乱码 | 亚州性色 | 日日干激情五月 | 久久婷婷久久 | 欧美激情视频在线观看免费 | 国产精品淫片 | 六月色丁香 | 99热精品国产一区二区在线观看 | 日日操日日操 | 波多野结衣理论片 | 国产不卡在线观看视频 | 99在线免费观看视频 | 婷婷午夜 | 国内精品久久久久影院男同志 | 成人高清av在线 | 亚洲.www| 91av在线精品 | 91av视频网| 日批网站免费观看 | 看污网站| 久久久久一区二区三区 | 久久免费精品 | 一区二区三区中文字幕在线 | 日韩免费av在线 | 国内精品久久久久久久久久久久 | 国产大片黄色 | 日韩性片| 国产精品视频专区 | 少妇bbb| 91视频免费播放 | 日产乱码一二三区别免费 | 精品一区二区三区久久 | 日韩成人中文字幕 | 狠狠插狠狠操 | 久久久久久久久久电影 | 欧美激情视频一区二区三区免费 | 国产成人在线一区 | 免费久久网| 四虎8848免费高清在线观看 | 日日操日日干 | 国产中文字幕在线观看 | www欧美色 | 亚洲一区黄色 | 九九久久婷婷 | 成人小视频在线播放 | 视频成人永久免费视频 | 黄av资源 | 91女人18片女毛片60分钟 | 91影视成人 | 国产色资源 | 日韩毛片在线一区二区毛片 | 丝袜美腿亚洲综合 | 九草视频在线 | 综合网中文字幕 | 最近中文字幕免费视频 | 久久免费的视频 | 久久y| 男女激情免费网站 | 美女视频黄网站 | 亚洲一区二区视频 | 国产精品第三页 | 丁香五月缴情综合网 | 国产四虎影院 | 国产视频在线观看免费 | 亚洲区精品视频 | 久久99国产精品免费网站 | 亚洲砖区区免费 | 国产最新视频在线 | 国产精品美女www爽爽爽视频 | 日韩精品免费一区二区在线观看 | 国产成人免费高清 | 久久久久久久国产精品视频 | 国产精品久久久久永久免费观看 | 美女免费黄网站 | 国内精品在线观看视频 | 欧美性另类 | 精品一区电影 | 亚州日韩中文字幕 | 国产一区二区在线精品 | 99热日本 | 91成人精品一区在线播放69 | 蜜臀久久99精品久久久无需会员 | 操操操人人人 | 福利视频网址 | 国产成人性色生活片 | 成年人免费电影在线观看 | 热久久免费视频 | 国产91精品看黄网站在线观看动漫 | 免费国产视频 | 91中文视频 | 国产91亚洲 | 午夜免费在线观看 | 天天操网站 | 黄污在线看 | 91在线播放综合 | 中文字幕在线免费 | 国产97视频在线 | 日韩在线电影一区 | 日韩丝袜在线 | 久久久免费看片 | 国产日韩精品在线 | 制服丝袜亚洲 | 91九色视频在线 | 国产一区二区高清视频 | 激情网色 | 亚洲欧美怡红院 | 国产精品久久久久久久久久久杏吧 | 国产亚洲午夜高清国产拍精品 | 国产精品入口66mio女同 | 免费av观看 | 色婷婷狠狠| 久久久污 | 久久精品视频在线 | 色七七亚洲影院 | 五月天久久| 91人人人 | 欧美精品少妇xxxxx喷水 | 亚洲最大成人网4388xx | www婷婷| 日韩成人精品一区二区三区 | 亚州精品在线视频 | 欧美日韩中文国产一区发布 | 夜夜躁日日躁狠狠躁 | av解说在线观看 | 国产一级视频在线免费观看 | 天堂网一区 | 精品久久久久久亚洲 | 欧美 日韩 国产 成人 在线 | 国产 亚洲 欧美 在线 | 六月色丁 | 日韩精品欧美专区 | 久久伊人八月婷婷综合激情 | 最近日本中文字幕 | av看片在线观看 | 国产精品久久久久永久免费观看 | 亚洲黄色成人av | 亚洲国产中文字幕在线视频综合 | 手机在线黄色网址 | 黄色三级免费网址 | 日韩激情视频在线观看 | 久久国产剧场电影 | 操操操人人| 人人爽人人看 | 国产黑丝一区二区三区 | 欧美激情xxxx性bbbb | 久久久私人影院 | 中文字幕视频在线播放 | 日韩久久视频 | 午夜精品一区二区三区免费 | 久久综合免费 | 免费在线观看黄网站 | 中文字幕一区二区三区精华液 | 亚州国产精品久久久 | 国产日韩欧美自拍 | av经典在线| av免费看网站 | 国产精品久久久久av福利动漫 | 国产精品小视频网站 | 色多多污污 | 97人人添人澡人人爽超碰动图 | 国产成人三级一区二区在线观看一 | 亚洲婷久久 | 极品嫩模被强到高潮呻吟91 | 国产黄色片久久久 | 超碰在线网 | 久久久久国产一区二区三区 | 国产精品日韩 | 缴情综合网五月天 | 91传媒在线| 最新久久免费视频 | 一区二区三区在线观看免费 | 国产成人久 | 亚洲精品在线一区二区 | 久久久久久久免费观看 | 97视频免费观看2区 亚洲视屏 | 亚洲视频电影在线 | 免费久久网 | 91在线看视频 | 天天操天天干天天操天天干 | 欧美久久99 | 激情综合网在线观看 | 成人欧美在线 | 日日夜夜天天人人 | 国产91免费在线观看 | 四虎国产精品免费 | 91免费网址 | 免费麻豆视频 | 国产精品久久久久久妇 | 91av视屏| 九九免费观看视频 | 日日爽| 日韩深夜在线观看 | 天天射天天操天天色 | 99久高清在线观看视频99精品热在线观看视频 | av电影在线播放 | 五月天久久婷婷 | 日韩电影在线观看一区二区三区 | 黄色资源网站 | 亚洲成人一区 | 岛国大片免费视频 | www.激情五月.com | 九色一区二区 | 久久男人影院 | 欧美亚洲成人免费 | av在线免费不卡 | 亚洲动漫在线观看 | 亚洲精品一区二区三区新线路 | 麻豆一精品传二传媒短视频 | 国产 日韩 在线 亚洲 字幕 中文 | 天堂网一区二区 | 成人黄色视 | 在线视频观看亚洲 | 大胆欧美gogo免费视频一二区 | 欧美国产日韩一区二区三区 | www.黄色网.com | 国产精品v欧美精品v日韩 | 色欧美视频 | 特级西西444www高清大视频 | 成人免费视频观看 | 欧美午夜a | 人人澡人人模 | 久久精选视频 | 日韩av成人 | 成人 国产 在线 | 999一区二区三区 | 精品在线播放视频 | 亚洲国产大片 | 2021国产精品 | 中文字幕av在线不卡 | 在线观看国产日韩欧美 | 国产网站色 | 久久精品影视 | 91.精品高清在线观看 | 亚洲美女视频在线观看 | 久久视频免费 | 欧美精品九九99久久 | 国产福利精品视频 | 国产免费叼嘿网站免费 | 中文字幕在线观看免费观看 | 最新日韩视频在线观看 | 在线黄频| 国产视频美女 | japanese黑人亚洲人4k | 草久在线观看视频 | 天天天操天天天干 | 日韩在线观看一区二区三区 | 亚洲欧美日韩不卡 | 日韩精品免费在线视频 | 亚洲伦理中文字幕 | 亚洲激情在线观看 | 成人免费大片黄在线播放 | 人人射 | 99国产一区二区三精品乱码 | 久久综合中文字幕 | 国产aa精品 | 99精品国产一区二区三区不卡 | 狠狠色丁香久久婷婷综合五月 | 深爱婷婷网 | 欧美日韩国产精品一区二区亚洲 | 97精品视频在线 | 国产99久久九九精品 | 久久精品xxx | 欧美日韩免费观看一区二区三区 | 午夜黄色大片 | 日韩中字在线 | 一区二区精品视频 | 人人揉人人揉人人揉人人揉97 | 天堂av免费 | 免费在线日韩 | av成人在线网站 | 正在播放一区二区 | 丁香电影小说免费视频观看 | 亚洲婷婷在线视频 | 国产精品你懂的在线观看 | 亚洲视频电影在线 | 久久成人国产 | 久久久久国产精品厨房 | 狠狠操在线| 91刺激视频 | 天天摸天天舔 | 中文字幕在线播放av | 久久久久久久久免费视频 | 日韩欧美在线观看一区二区三区 | 久久国产麻豆 | 国产精品va在线播放 | 四虎在线永久免费观看 | 99久久久国产精品 | 欧美一级视频在线观看 | 玖玖爱国产在线 | 97操操操 | 久久伦理 | 国产精品久久久久久av | 精品国产伦一区二区三区观看方式 | 九九免费精品视频在线观看 | 色综合五月天 | 免费成视频 | 欧美日韩成人一区 | 美女视频网| 99re视频在线观看 | 日韩一级片网址 | 天天干夜夜想 | 国产欧美精品在线观看 | 天天操天天干天天插 | 色九九视频 | 五月导航 | 国产99一区视频免费 | 久久久久免费网站 | 1024手机在线看 | 97夜夜澡人人双人人人喊 | 91视频黄色 | 男女全黄一级一级高潮免费看 | 97热视频| 久久99国产精品久久99 | 一本一本久久a久久精品牛牛影视 | 亚洲成人av电影在线 | 国产精品2018 | 91精品伦理 | 91精品国产91p65| 婷婷草 | 人人草在线视频 | 美女视频黄是免费的 | 91九色视频网站 | 欧美在线一级片 | 亚洲免费公开视频 | 超级碰碰碰视频 | 欧美一级在线观看视频 | 亚洲人xxx | 一区精品在线 | 国产精品成久久久久三级 | 黄色毛片视频免费观看中文 | 精品在线视频一区二区三区 | av在线专区| www.狠狠操.com | 超碰成人av | 精品视频在线播放 | 黄色视屏av | 一级做a爱片性色毛片www | 国产免费国产 | 999久久久免费精品国产 | 日韩在线观看你懂得 | 亚洲精品日韩一区二区电影 | 婷婷色在线资源 | 欧美在线观看视频 | 91成人免费电影 | www.国产视频 | av黄免费看 | 99久久久久国产精品免费 | 99热这里只有精品久久 | 少妇bbbb| av中文在线播放 | 欧美激情精品久久久 | 国产中文字幕91 | 久热色超碰 | 91黄视频在线 | 国产二区视频在线观看 | 久操视频在线观看 | 精品国产片 | 国产不卡免费视频 | 国产97av | 欧美片网站yy | 国产在线毛片 | 国产精品九九九 | 日韩电影中文,亚洲精品乱码 | 成 人 黄 色 视频免费播放 | 97在线影院| 中文字幕国产一区 | 蜜臀精品久久久久久蜜臀 | 午夜视频免费 | av性在线| 超碰免费在线公开 | 国产成人精品免高潮在线观看 | 免费黄色av | 亚洲精品视频免费在线观看 | 国产只有精品 | 亚洲 欧美日韩 国产 中文 | 一区二区三区高清在线 | av九九九| 最新国产福利 | 久热av| 欧洲在线免费视频 | 欧美一级日韩免费不卡 | 久久欧美综合 | 免费观看成人网 | 中文字幕在线观看播放 | 国产一二三四在线观看视频 | 久久精品中文字幕少妇 | 97电影网站 | 日韩精品在线观看视频 | 波多野结衣电影久久 | a天堂免费 | 久久夜色精品国产欧美一区麻豆 | 国产小视频精品 | 国产日韩欧美网站 | 人人揉人人揉人人揉人人揉97 | 免费黄色在线网址 | 国产精品乱码久久 | 日韩欧美一区二区在线播放 | 国产成人免费在线观看 | 国产99久久久国产精品免费二区 | 亚洲精品午夜一区人人爽 | 精品九九久久 | 中文一区在线 | 2023av| 网址你懂的在线观看 | 久久观看最新视频 | 国产福利在线不卡 | 久久免费视频播放 | 国产成人久久av977小说 | 日本免费久久高清视频 | 久久成电影 | 免费观看完整版无人区 | 精品9999 | 人九九精品 | 一区二区日韩av | 日韩一级黄色大片 | 美女网站免费福利视频 | 日韩av手机在线看 | 粉嫩av一区二区三区四区在线观看 | 国产美女黄网站免费 | 天天综合成人 | 96亚洲精品久久 | 日韩精品在线视频 | 国产在线成人 | 麻豆91精品视频 | 狠狠成人| 成年人网站免费观看 | 久久 地址 | 日韩av五月天 | 美女激情影院 | 天天做天天爱天天综合网 | 麻豆精品在线视频 | 精品欧美乱码久久久久久 | 日韩欧美在线综合网 | 中文字幕av在线 | 在线观看一区二区精品 | 夜夜夜夜夜夜操 | 97超碰资源 | 国产精品美乳一区二区免费 | 国产成人精品一区二区三区 | 免费观看黄| 91c网站色版视频 | 三上悠亚一区二区在线观看 | 日韩精品最新在线观看 | 99精品视频在线看 | 国产一级大片免费看 | 国产v亚洲v| 四虎成人在线 | 国内免费久久久久久久久久久 | 日日躁你夜夜躁你av蜜 | 久久艹艹| 国产一区二区在线影院 | 伊人久久一区 | 色综合天天色 | 久久私人影院 | 国产又粗又猛又黄又爽的视频 | 日韩欧美xxxx | 日本丶国产丶欧美色综合 | 国产精品刺激对白麻豆99 | 激情久久五月 | 成人永久免费 | 精品亚洲va在线va天堂资源站 | 日日爽| 在线观看黄色小视频 | 日本三级久久 | 久久少妇av | 久久五月激情 | 免费在线观看视频一区 | 成人久久18免费网站 | 日本一区二区高清不卡 | 国产高清一区二区 | 91福利影院在线观看 | 久久福利剧场 | 天天爽夜夜爽精品视频婷婷 | a在线一区 | av三级在线播放 | 国产一区二区精品91 | 婷婷 中文字幕 | 久久成人欧美 | 99久久精品免费看国产一区二区三区 | 久久久黄视频 | 国产亚洲激情视频在线 | 四虎国产精品成人免费影视 | 久久久精品欧美一区二区免费 | 久久久久免费精品国产 | 成年人免费看的视频 |