阿里云域名動態IP解析Shell小腳本
直接看github源碼(有readme):https://github.com/risfeng/aliyun-ddns-shell
當你手里面有一個閑置的域名,有一個漂浮不定的外網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/domian
- 給子賬號授權:權限管理-個人權限 權限策略名稱:AliyunDNSFullAccess
- 運行自動解析域名腳本
- git clone https://github.com/risfeng/aliyun-ddns-shell.git
- 給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 - 注意觀察任務是否成功執行,如有疑問請自行百度
效果圖
不在代碼中爆發,就在代碼滅亡!
========================================================================




浙公網安備 33010602011771號