国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2.2 Shell 腳本編寫和批量操作

這篇具有很好參考價(jià)值的文章主要介紹了2.2 Shell 腳本編寫和批量操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Shell 腳本編寫和批量操作


大綱

引言

Shell 腳本的作用和重要性
腳本編寫的目的和優(yōu)勢(shì)
本節(jié)將介紹如何編寫 Shell 腳本,以及如何利用腳本進(jìn)行批量操作,提高運(yùn)維效率。
Shell 腳本基礎(chǔ)

Shell 腳本的概念和基本語法
變量和數(shù)據(jù)類型
條件語句和循環(huán)結(jié)構(gòu)
函數(shù)的定義和使用
腳本編寫實(shí)例

編寫簡(jiǎn)單的腳本,如批量創(chuàng)建文件和目錄
實(shí)現(xiàn)系統(tǒng)監(jiān)控,自動(dòng)化檢查和報(bào)警
執(zhí)行常見的系統(tǒng)維護(hù)任務(wù),如備份和日志清理
腳本優(yōu)化和最佳實(shí)踐

腳本性能優(yōu)化,減少資源占用和運(yùn)行時(shí)間
錯(cuò)誤處理和異常處理機(jī)制
安全性考慮,避免腳本注入和漏洞
批量操作和自動(dòng)化

使用腳本進(jìn)行批量操作,如用戶管理和文件批量處理
自動(dòng)化運(yùn)維任務(wù),定時(shí)執(zhí)行腳本
與配置管理工具的集成,實(shí)現(xiàn)自動(dòng)化部署和配置管理
實(shí)踐案例

使用 Shell 腳本解決實(shí)際的運(yùn)維問題
分析復(fù)雜任務(wù)的腳本實(shí)現(xiàn),如自動(dòng)化部署和資源調(diào)度
從實(shí)踐中總結(jié)經(jīng)驗(yàn)和教訓(xùn)
未來展望

探討腳本編寫在未來運(yùn)維工作中的角色
調(diào)研新興技術(shù),如基于容器的運(yùn)維和 Serverless
提供對(duì)自動(dòng)化和編程在運(yùn)維領(lǐng)域的未來趨勢(shì)的展望

通過這個(gè)大綱,讀者將深入了解 Shell 腳本編寫的基礎(chǔ)知識(shí)和實(shí)踐技巧,以及如何利用腳本進(jìn)行批量操作和自動(dòng)化運(yùn)維,從而提高工作效率和系統(tǒng)穩(wěn)定性。每個(gè)章節(jié)都將以實(shí)際案例為支撐,幫助讀者掌握腳本編寫和運(yùn)用的關(guān)鍵要點(diǎn)。

引言

Shell 腳本作為一種自動(dòng)化工具,在運(yùn)維領(lǐng)域扮演著不可或缺的角色。它能夠幫助運(yùn)維工程師簡(jiǎn)化繁瑣的重復(fù)操作,提高工作效率,并且使得一系列復(fù)雜的任務(wù)得以批量處理。本節(jié)將深入探討Shell腳本的編寫技巧以及如何利用腳本來進(jìn)行批量操作,為運(yùn)維工程師提供更高效的工作方式。

Shell 腳本基礎(chǔ)

Shell 腳本的概念和基本語法

Shell腳本是一系列Shell命令的集合,通過腳本文件的方式進(jìn)行組織和執(zhí)行。它能夠調(diào)用系統(tǒng)命令、編寫邏輯、實(shí)現(xiàn)條件判斷等。了解Shell腳本的基本概念和語法是進(jìn)入自動(dòng)化運(yùn)維的第一步。

變量和數(shù)據(jù)類型

在Shell腳本中,變量是用來存儲(chǔ)數(shù)據(jù)的容器,能夠幫助我們更方便地操作數(shù)據(jù)。了解變量的定義、賦值和引用方式,以及Shell支持的常見數(shù)據(jù)類型,將使得腳本的編寫更加靈活和高效。

條件語句和循環(huán)結(jié)構(gòu)

條件語句和循環(huán)結(jié)構(gòu)是Shell腳本中實(shí)現(xiàn)邏輯和控制流的關(guān)鍵部分。掌握條件語句(如if-else語句)和循環(huán)結(jié)構(gòu)(如for循環(huán)、while循環(huán))的使用方法,可以使腳本根據(jù)不同的條件執(zhí)行不同的操作,或者在一定的條件下循環(huán)執(zhí)行特定的任務(wù)。

函數(shù)的定義和使用

函數(shù)是Shell腳本中的模塊化工具,它允許我們將一組操作封裝起來,并可以在腳本中多次調(diào)用。學(xué)習(xí)如何定義和使用函數(shù),可以使得腳本的代碼更加清晰和可維護(hù)。

在本節(jié)中,我們將深入學(xué)習(xí)Shell腳本的基礎(chǔ)知識(shí),掌握腳本的語法和用法,為后續(xù)的批量操作和自動(dòng)化任務(wù)打下堅(jiān)實(shí)的基礎(chǔ)。我們將通過實(shí)際示例來演示Shell腳本的編寫和應(yīng)用,以幫助運(yùn)維工程師更好地利用Shell腳本來提高工作效率。同時(shí),我們會(huì)引用相關(guān)官方文檔來加強(qiáng)對(duì)Shell腳本的理解和學(xué)習(xí)。

腳本編寫實(shí)例

編寫簡(jiǎn)單的腳本:批量創(chuàng)建文件和目錄

編寫腳本可以幫助我們快速創(chuàng)建大量的文件和目錄,節(jié)省手動(dòng)操作的時(shí)間。例如,我們可以編寫一個(gè)Shell腳本來在指定的目錄下創(chuàng)建一系列文件夾和文件。以下是一個(gè)示例腳本:

#!/bin/bash

# 指定目標(biāo)目錄
target_dir="/path/to/target_directory"

# 創(chuàng)建文件夾
mkdir -p "$target_dir/folder1"
mkdir -p "$target_dir/folder2"

# 創(chuàng)建文件
touch "$target_dir/folder1/file1.txt"
touch "$target_dir/folder1/file2.txt"
touch "$target_dir/folder2/file3.txt"

實(shí)現(xiàn)系統(tǒng)監(jiān)控:自動(dòng)化檢查和報(bào)警

Shell腳本可以幫助我們實(shí)現(xiàn)簡(jiǎn)單的系統(tǒng)監(jiān)控,定期檢查系統(tǒng)狀態(tài),并在達(dá)到預(yù)設(shè)條件時(shí)觸發(fā)報(bào)警。以下是一個(gè)示例腳本:

#!/bin/bash

# 定義閾值
cpu_threshold=90
memory_threshold=80

# 檢查CPU利用率
cpu_util=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
if [ "$cpu_util" -gt "$cpu_threshold" ]; then
    echo "警告:CPU利用率超過閾值!"
    # 觸發(fā)報(bào)警機(jī)制
fi

# 檢查內(nèi)存使用率
memory_util=$(free -m | grep "Mem:" | awk '{print $3/$2 * 100}')
if [ "$memory_util" -gt "$memory_threshold" ]; then
    echo "警告:內(nèi)存使用率超過閾值!"
    # 觸發(fā)報(bào)警機(jī)制
fi

執(zhí)行常見的系統(tǒng)維護(hù)任務(wù):備份和日志清理

腳本還可以用來執(zhí)行常見的系統(tǒng)維護(hù)任務(wù),如定期備份文件和清理日志。以下是一個(gè)示例腳本:

#!/bin/bash

# 備份指定目錄
source_dir="/path/to/source_directory"
backup_dir="/path/to/backup_directory"
backup_file="backup_$(date +%Y%m%d).tar.gz"

tar -czf "$backup_dir/$backup_file" "$source_dir"

# 清理過期日志文件
log_dir="/path/to/log_directory"
find "$log_dir" -type f -name "*.log" -mtime +7 -exec rm {} \;

腳本優(yōu)化和最佳實(shí)踐

在編寫腳本時(shí),我們需要考慮腳本的性能、錯(cuò)誤處理、安全性等方面的最佳實(shí)踐。以下是一些腳本優(yōu)化和最佳實(shí)踐的建議:

  • 盡量減少資源占用和運(yùn)行時(shí)間:避免不必要的循環(huán)和重復(fù)操作,使用合適的數(shù)據(jù)結(jié)構(gòu)和算法,以及合理利用并行處理。
  • 錯(cuò)誤處理和異常處理機(jī)制:在腳本中實(shí)現(xiàn)良好的錯(cuò)誤處理,包括合理的退出狀態(tài)碼、錯(cuò)誤日志記錄和異常情況的處理。
  • 安全性考慮:避免使用不受信任的輸入數(shù)據(jù),防止腳本注入和漏洞,以及對(duì)敏感信息的保護(hù)。
  • 批量操作和自動(dòng)化:充分利用腳本的批量操作和自動(dòng)化能力,減少手動(dòng)操作和提高工作效率。

通過以上的實(shí)例和最佳實(shí)踐,我們可以編寫出高效、安全和可維護(hù)的Shell腳本,為運(yùn)維工作提供強(qiáng)大的支持。

使用腳本進(jìn)行批量操作

用戶管理

腳本在運(yùn)維中可以幫助進(jìn)行批量的用戶管理,包括創(chuàng)建、修改和刪除用戶。以下是一個(gè)簡(jiǎn)單的用戶管理腳本示例:

#!/bin/bash

# 批量創(chuàng)建用戶
for i in {1..10}; do
    username="user$i"
    useradd "$username"
    echo "用戶 $username 創(chuàng)建成功"
done

# 批量修改用戶密碼
for i in {1..10}; do
    username="user$i"
    password="Pass123!"
    echo -e "$password\n$password" | passwd "$username"
    echo "用戶 $username 密碼修改成功"
done

# 批量刪除用戶
for i in {1..10}; do
    username="user$i"
    userdel -r "$username"
    echo "用戶 $username 刪除成功"
done

文件批量處理

腳本還可以用于批量處理文件,如文件的備份、轉(zhuǎn)換和清理。以下是一個(gè)文件批量處理腳本示例:

#!/bin/bash

# 批量備份文件
source_dir="/path/to/source_directory"
backup_dir="/path/to/backup_directory"
for file in "$source_dir"/*; do
    cp "$file" "$backup_dir"
    echo "文件 $file 備份成功"
done

# 批量轉(zhuǎn)換文件格式
convert_dir="/path/to/convert_directory"
for file in "$convert_dir"/*.txt; do
    new_file="${file%.txt}.csv"
    mv "$file" "$new_file"
    echo "文件 $file 轉(zhuǎn)換成功為 $new_file"
done

# 批量清理過期文件
log_dir="/path/to/log_directory"
find "$log_dir" -type f -name "*.log" -mtime +7 -exec rm {} \;
echo "過期日志文件清理完成"

自動(dòng)化運(yùn)維任務(wù)

腳本的自動(dòng)化特性使其非常適合定時(shí)執(zhí)行運(yùn)維任務(wù)。通過cron等定時(shí)任務(wù)工具,可以實(shí)現(xiàn)定期運(yùn)行腳本,例如每天備份數(shù)據(jù)庫、每周清理日志等。以下是一個(gè)自動(dòng)化運(yùn)維腳本示例:

#!/bin/bash

# 每天凌晨備份數(shù)據(jù)庫
backup_dir="/path/to/backup_directory"
backup_file="backup_$(date +%Y%m%d).sql"
mysqldump -u username -p password database_name > "$backup_dir/$backup_file"
echo "數(shù)據(jù)庫備份完成"

# 每周清理過期日志文件
log_dir="/path/to/log_directory"
find "$log_dir" -type f -name "*.log" -mtime +7 -exec rm {} \;
echo "過期日志文件清理完成"

與配置管理工具的集成

腳本和配置管理工具的集成可以實(shí)現(xiàn)自動(dòng)化部署和配置管理。例如,結(jié)合Ansible進(jìn)行配置管理,可以編寫Ansible Playbook來執(zhí)行一系列任務(wù),從而實(shí)現(xiàn)服務(wù)器的自動(dòng)化配置和部署。以下是一個(gè)簡(jiǎn)化的Ansible Playbook示例:

---
- name: 安裝Web服務(wù)器
  hosts: webservers
  tasks:
    - name: 安裝Apache
      yum:
        name: httpd
        state: present
    - name: 啟動(dòng)Apache服務(wù)
      service:
        name: httpd
        state: started
    - name: 配置虛擬主機(jī)
      copy:
        src: /path/to/vhost.conf
        dest: /etc/httpd/conf.d/
      notify:
        - 重啟Apache服務(wù)

  handlers:
    - name: 重啟Apache服務(wù)
      service:
        name: httpd
        state: restarted

實(shí)踐案例

通過實(shí)際的運(yùn)維問題來編寫腳本,可以提高效率并解決重復(fù)性工作。以下是一個(gè)實(shí)踐案例,通過腳本來自動(dòng)備份關(guān)鍵數(shù)據(jù)并通知管理員:

#!/bin/bash

# 定義備份目錄和通知郵箱
backup_dir="/path/to/backup_directory"
notify_email="admin@example.com"

# 執(zhí)行數(shù)據(jù)備份
backup_file="backup_$(date +%Y%m%d).tar.gz"
tar -czf "$backup_dir/$backup_file" /path/to/important_data

# 發(fā)送通知郵件
echo "備份完成,文件為 $backup_file" | mail -s "數(shù)據(jù)備份通知" "$notify_email"
echo "通知郵件已發(fā)送"

通過上述的腳本示例和實(shí)踐案例,我們可以看到腳本在運(yùn)維中的強(qiáng)大作用,能夠簡(jiǎn)化操作、提高效率,并自動(dòng)化處理重復(fù)性任務(wù)。同時(shí),與配置管理工具的集成也為自動(dòng)化部署和配置管理提供了更便捷的方式。在實(shí)際的運(yùn)維工作中,靈活運(yùn)用腳本可以幫助我們更好地應(yīng)對(duì)各種挑戰(zhàn)。

未來展望

腳本編寫在未來的運(yùn)維工作中將繼續(xù)扮演重要角色,但其應(yīng)用范圍和深度將進(jìn)一步擴(kuò)展。以下是一些未來展望和趨勢(shì):

  1. 自動(dòng)化的核心

    自動(dòng)化將成為運(yùn)維工作的核心,更多的重復(fù)性、繁瑣的任務(wù)將通過腳本自動(dòng)化來完成,這將提高效率、降低出錯(cuò)率,并釋放運(yùn)維人員的時(shí)間,使其能夠更專注于解決復(fù)雜的問題和提升系統(tǒng)架構(gòu)。

  2. 基于容器的運(yùn)維

    隨著容器技術(shù)的成熟,將有更多的企業(yè)將應(yīng)用容器化,這意味著運(yùn)維人員需要具備在容器平臺(tái)上運(yùn)維的能力。編寫用于容器編排和管理的腳本,如Kubernetes部署腳本,將成為運(yùn)維人員的一項(xiàng)關(guān)鍵技能。

  3. Serverless 架構(gòu)的崛起

    Serverless 架構(gòu)將進(jìn)一步改變應(yīng)用的部署方式,運(yùn)維工作將更多地涉及到配置和管理 Serverless 服務(wù),而不再關(guān)注傳統(tǒng)服務(wù)器的維護(hù)。腳本將用于在 Serverless 環(huán)境中自動(dòng)化部署、監(jiān)控和管理各種無服務(wù)器功能。

  4. 增強(qiáng)的監(jiān)控和分析

    隨著大數(shù)據(jù)、人工智能和機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,運(yùn)維工作將更多地涉及到數(shù)據(jù)的分析和預(yù)測(cè),腳本將用于構(gòu)建自動(dòng)化的監(jiān)控系統(tǒng),通過數(shù)據(jù)分析來實(shí)現(xiàn)故障的預(yù)警和性能的優(yōu)化。

  5. 更強(qiáng)的安全需求

    安全將始終是運(yùn)維工作的重要方面,未來的運(yùn)維腳本將更注重安全性,避免潛在的安全漏洞,同時(shí)也將用于自動(dòng)化的安全策略的實(shí)施。

Serverless 架構(gòu)將進(jìn)一步改變應(yīng)用的部署方式,運(yùn)維工作將更多地涉及到配置和管理 Serverless 服務(wù),而不再關(guān)注傳統(tǒng)服務(wù)器的維護(hù)。腳本將用于在 Serverless 環(huán)境中自動(dòng)化部署、監(jiān)控和管理各種無服務(wù)器功能。

  1. 增強(qiáng)的監(jiān)控和分析

    隨著大數(shù)據(jù)、人工智能和機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,運(yùn)維工作將更多地涉及到數(shù)據(jù)的分析和預(yù)測(cè),腳本將用于構(gòu)建自動(dòng)化的監(jiān)控系統(tǒng),通過數(shù)據(jù)分析來實(shí)現(xiàn)故障的預(yù)警和性能的優(yōu)化。

  2. 更強(qiáng)的安全需求

    安全將始終是運(yùn)維工作的重要方面,未來的運(yùn)維腳本將更注重安全性,避免潛在的安全漏洞,同時(shí)也將用于自動(dòng)化的安全策略的實(shí)施。

綜上所述,未來的運(yùn)維工作將更加依賴于自動(dòng)化和編程,腳本編寫將繼續(xù)發(fā)揮關(guān)鍵作用,同時(shí)運(yùn)維人員需要不斷學(xué)習(xí)新的技術(shù)和工具,不斷適應(yīng)快速發(fā)展的技術(shù)趨勢(shì)。文章來源地址http://www.zghlxwxcb.cn/news/detail-650082.html

到了這里,關(guān)于2.2 Shell 腳本編寫和批量操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 運(yùn)維Shell腳本小試牛刀(一)

    運(yùn)維Shell腳本小試牛刀(一)

    運(yùn)維Shell腳本小試牛刀(一) 運(yùn)維Shell腳本小試牛刀(二) 運(yùn)維Shell腳本小試牛刀(三)::$(cd $(dirname $0); pwd)命令詳解 運(yùn)維Shell腳本小試牛刀(四): 多層嵌套if...elif...elif....else fi_蝸牛楊哥的博客-CSDN博客 Cenos7安裝小火車程序動(dòng)畫 運(yùn)維Shell腳本小試牛刀(五):until循環(huán) 運(yùn)維Shell腳本小試牛刀

    2024年02月11日
    瀏覽(26)
  • 運(yùn)維高級(jí)--shell腳本完成分庫分表

    運(yùn)維高級(jí)--shell腳本完成分庫分表

    ?????隨著系統(tǒng)的運(yùn)行,存儲(chǔ)的數(shù)據(jù)量會(huì)越來越大,系統(tǒng)的訪問的壓力也會(huì)隨之增大,如果一個(gè)庫中的表數(shù)據(jù)超過了一定的數(shù)量,比如說MySQL中的表數(shù)據(jù)達(dá)到千萬級(jí)別,就需要考慮進(jìn)行分庫分表; ?????其次隨著表數(shù)據(jù)的不斷增大,會(huì)發(fā)現(xiàn)查詢也隨著變得緩慢,如果添加索

    2024年02月15日
    瀏覽(31)
  • Linux shell腳本編寫

    Linux shell腳本編寫

    一、常用shell腳本指令 echo: 輸出指定的文本或變量值到標(biāo)準(zhǔn)輸出。 read: 從標(biāo)準(zhǔn)輸入讀取用戶輸入,并將其保存到指定的變量中。 if: 執(zhí)行條件語句,如果滿足指定條件則執(zhí)行特定操作,否則執(zhí)行其他操作。 for: 循環(huán)執(zhí)行特定操作,每次迭代更新變量值。 while: 循環(huán)執(zhí)行

    2024年02月16日
    瀏覽(30)
  • shell腳本簡(jiǎn)介+編寫

    shell腳本簡(jiǎn)介+編寫

    1、常用Linux命令 2、Linux下腳本編寫 3、windows下CMD常用命令 1、系統(tǒng)預(yù)定義變量 常用系統(tǒng)變量 $HOME 、 $PWD 、 $SHELL 、 $USER 、 $PATH 等。 顯示當(dāng)前所有 Shell 變量: set 2、自定義變量 基本語法 定義變量:變量名=變量值 撤銷變量:unset 變量名 聲明靜態(tài)變量:readonly變量,注意:不

    2024年02月02日
    瀏覽(29)
  • shell 腳本編寫

    shell 腳本編寫

    2023年04月09日
    瀏覽(20)
  • 簡(jiǎn)單shell腳本的編寫

    簡(jiǎn)單shell腳本的編寫

    shell腳本就是將命令寫入文本中,文本可以被執(zhí)行。 腳本:本質(zhì)是一個(gè)文件,文件里面存放的是 特定格式的指令,系統(tǒng)可以使用腳本解析器 翻譯或解析 指令 并執(zhí)行(它不需要編譯) shell 既是應(yīng)用程序,又是一種腳本語言(應(yīng)用程序 解析 腳本語言)。 簡(jiǎn)單使用 $0 表示當(dāng)前

    2024年02月10日
    瀏覽(25)
  • 運(yùn)維:18工作中常用 Shell 腳本, 強(qiáng)烈推薦

    運(yùn)維:18工作中常用 Shell 腳本, 強(qiáng)烈推薦

    ? 1、檢測(cè)兩臺(tái)服務(wù)器指定目錄下的文件一致性

    2024年02月14日
    瀏覽(17)
  • Shell腳本——流量探測(cè)(自動(dòng)化運(yùn)維)

    目的?? ?自動(dòng) ?捕獲 指定IP或端口 的流量 生成日志,實(shí)現(xiàn) 流量 探測(cè)功能 準(zhǔn)備? ? Root 用戶權(quán)限下才能運(yùn)行tcpdump腳本 優(yōu)勢(shì)? ?Liunx系統(tǒng)自帶,無需安裝其他組件,捕獲準(zhǔn)確度高 缺點(diǎn)? ?不能同時(shí)檢測(cè)多個(gè)IP流量,效率低 重點(diǎn) ????????日志文件? ?touch??/home/node1/scripts/t

    2024年02月16日
    瀏覽(28)
  • 運(yùn)維——編寫腳本,使用mysqldump實(shí)現(xiàn)分庫分表備份。

    ?編寫腳本,使用mysqldump實(shí)現(xiàn)分庫分表備份。 需要將 和 替換為您的 MySQL 用戶名和密碼,并將 替換為您希望保存?zhèn)浞菸募穆窂健?your_username your_password \\\"/path/to/backup\\\" 此腳本將遍歷所有數(shù)據(jù)庫和表,并使用 mysqldump 工具將每個(gè)表的數(shù)據(jù)導(dǎo)出到單獨(dú)的備份文件中。備份文件的命

    2024年02月15日
    瀏覽(24)
  • 【Linux】編寫一個(gè) shell 腳本&執(zhí)行

    在Linux中編寫和執(zhí)行腳本相對(duì)簡(jiǎn)單。下面是一個(gè)基本的步驟指南,幫助你創(chuàng)建一個(gè)簡(jiǎn)單的bash腳本并運(yùn)行它: 1. 創(chuàng)建腳本文件 首先,你需要使用文本編輯器創(chuàng)建一個(gè)新的文件。這個(gè)文件通常會(huì)有 .sh 的擴(kuò)展名,以表明它是一個(gè)shell腳本。例如,你可以創(chuàng)建一個(gè)名為 myscript.sh 的文

    2024年04月26日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包