阿里云域名動態IP解析Shell小腳本
Github: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`
- 注意觀察任務是否成功執行,如有疑問請自行百度
效果圖


