情景:通過連接到Ruby on Rails應用程序來更新主機名?
我正在尋找一個啓動時的Linux機器連接到一個Ruby on Rails網站,該網站上有添加到模型的主機名列表。 Linux框從列表中的下一個可用主機名記錄更新它自己的主機名,並在軌道站點中記錄它的MAC地址和IP地址。堅韌的權利?
的Ruby on Rails應用程序
Host.rb(模型)IP_ADDRESS:字符串,MAC_ADDRESS:字符串,主機名:字符串,可得:布爾
艱難的部分:
我想了解如何讓Linux機器連接RoR站點以查看我所有的主機記錄,這些記錄將列出所有主機名。即:
id:1 hostname: "hostname-1", ip_address: nil, mac_address: nil, available: true
id:2 hostname: "hostname-2", ip_address: nil, mac_address: nil, available: true
id:3 hostname: "hostname-3", ip_address: nil, mac_address: nil, available: true
..然後看看下一個可用的主機名和更新自己該主機名在登錄的MAC_ADDRESS和IP_ADDRESS該記錄。
在Linux中的「下載」後的主機名記錄會是什麼樣子:
id:1 hostname: "hostname-1", ip_address: "192.168.1.10", mac_address: "00:13:EF:35:GH:00":, available: false
id:2 hostname: "hostname-2", ip_address: nil, mac_address: nil, available: true
id:3 hostname: "hostname-3", ip_address: nil, mac_address: nil, available: true
我已經試過:
我放在一個新的文件中/etc/init.d/selfconfig
#! /bin/sh
# /etc/init.d/selfconfig
USER=root
HOME=/root
export USER HOME
# download remote /zip file with hostname inside
/usr/bin/wget -o /home/admin/selfconfig.zip http://examplewebsite.com/selfconfig.zip
# unzip the .zip file
/usr/bin/unzip -o /home/admin/selfconfig.zip /home/admin
# copy the hostname file to the primary hostname location
cp /home/admin/hostname /etc/hostname
exit 0
這工作正是我希望它更新重啓後的主機名,但主機文件是一個靜態的.zip文件內。我需要能夠動態地更新.zip文件,或者以某種方式讓Linux機器連接到站點本身並拉出一個json列表或其他東西。這是我卡住的地方。
推理:
我將要建立對這些機器的150,這將消除這麼多的麻煩。
任何人有任何想法?
謝謝你,這使得有很大的意義。我要去看看會發生什麼。如果有效,我會接受答案! – Devin 2014-10-30 18:47:51
一個簡單的問題......控制器如何檢測客戶端正在訪問它,以及何時將更改從可用:true,變爲available:false? (我想這是兩個問題) – Devin 2014-10-30 18:51:12
啊,你可以使用祕密令牌進行身份驗證,例如,所以只有你的客戶端能夠訪問它 - 只需將令牌作爲另一個獲取參數,並在軌道上檢查它。 – kroky 2014-10-30 18:52:17