Github:https://github.com/risfeng/aliyun-ddns-she...
當你手裡面有一個閒置的域名,有一個漂浮不定的外網ip,你又想在外網ip變更後自動解析到域名上,此情此景此指令碼可能會幫上你。
使用步驟:
- 在阿里雲域名管理中解析自己的域名
- 記錄型別:A
- 主機記錄:按你需要輸入
- 解析路線:預設(隨你)
- 記錄值:隨便輸入一個Ip地址(執行指令碼後會自動更新到正確的)
- TTL值:10分鐘
- 需要通過阿里雲域名解析Api操作,所以需要申請阿里雲的Acesskeys
- 登入阿里雲 控制檯 https://account.aliyun.com/login/login.htm
- 新建子賬號(隨你,用主賬號也行)https://ram.console.aliyun.com/users
- 建立新的AccessKey https://ram.console.aliyun.com/users/domia...
- 給子賬號授權:許可權管理-個人許可權 許可權策略名稱:AliyunDNSFullAccess
- 執行自動解析域名指令碼
- 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給予支援
版權宣告:本文為ByteBlogs博主「risfeng」的原創文章。
原文連結:https://www.byteblogs.com/article/488
本作品採用《CC 協議》,轉載必須註明作者和本文連結