完全開源免費阿里雲域名動態 IP 解析 Shell 小指令碼

byteblogs發表於2020-03-30

Github:https://github.com/risfeng/aliyun-ddns-she...

當你手裡面有一個閒置的域名,有一個漂浮不定的外網ip,你又想在外網ip變更後自動解析到域名上,此情此景此指令碼可能會幫上你。


使用步驟:

  • 在阿里雲域名管理中解析自己的域名
    • 記錄型別:A
    • 主機記錄:按你需要輸入
    • 解析路線:預設(隨你)
    • 記錄值:隨便輸入一個Ip地址(執行指令碼後會自動更新到正確的)
    • TTL值:10分鐘
  • 需要透過阿里雲域名解析Api操作,所以需要申請阿里雲的Acesskeys
  • 執行自動解析域名指令碼
    • git clone https://github.com/risfeng/aliyun-ddns-she...
    • 給aliyun-ddns.sh指令碼賦可執行權:chmod +x aliyun-ddns-shell/src/aliyun/aliyun-ddns.sh
    • 執行指令碼,根據提示進行配置(第一次執行需要配置)
    • 如需要使用釘釘自定義機器人推送成功失敗訊息,請新建自定義釘釘機器人,配置access_token和訊息加簽金鑰
    • 指令碼支援2種執行方式:
      • 直接執行指令碼根據提示選擇需要使用的功能
        > aliyun-ddns.sh (mac: > bash aliyun-ddns.sh)
        1.配置並執行指令碼
        2.僅配置
        3.僅執行指令碼
        4.恢復出廠設定
        5.清理日誌檔案
        0.退出
    - 帶引數執行:
        aliyun-ddns.sh -config -run     配置並執行腳
        aliyun-ddns.sh -run             執行指令碼(前提需要有配置檔案)
        aliyun-ddns.sh -config          僅配置資訊
        aliyun-ddns.sh -restore         恢復出廠設定(會清除配置檔案等)
        aliyun-ddns.sh -clearn          清理日誌檔案
        aliyun-ddns.sh -version         顯示指令碼說明及版本資訊
  • 實時監聽外網IP變更後自動解析到域名
    • 利用定時任務服務:crond
    • 檢測是否安裝:crond -V 有輸出版本號即已安裝。
    • 如未安裝:yum install vixie-cron crontabs -y 如有疑問請自行查詢資料解決
    • crond服務常用命令
    service crond status   # 檢視服務執行狀態  
    service crond start    # 啟動服務
    service crond stop     # 停止服務 
    service crond restart  # 重啟服務  
    service crond reload   # 不中斷服務,重新載入配置 
    crontab -e             # 編輯配置檔案 
    crontab -l             # 列出某個使用者的任務計劃
- 配置任務定時任務
    - 建議不要把任務執行頻率設定小於等10,因為域名解析記錄生效時間最短理論上是10分鐘,往往都會超過10分,建議15-20分鐘。
    - 開始配置
        crontab -e
        # 按i進入標記模式
        # 輸入:
        */20 * * * * XXXXXX/aliyun-ddns-shell/src/aliyun/aliyun-ddns.sh -run >> XXXX/aliyun-ddns-shell/src/aliyun/crontab-log.log
        # 說明:
        # */20 * * * * :每20分鐘執行一次 需要執行都指令碼全路徑 >> 執行日誌輸出位置全路徑
        # 按 esc 後 輸入:wq 回車 儲存並退出
    - 重新載入配置:`service crond reload`
    - 注意觀察任務是否成功執行,如有疑問請自行百度

效果圖

啟動頁面
配置頁面
執行頁面

歡迎star給予支援

GitHub


版權宣告:本文為ByteBlogs博主「risfeng」的原創文章。

原文連結:https://www.byteblogs.com/article/488

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章