在小公司工做,有一點好處就是能夠接觸到方方面面,而且能夠自由的發揮想象力把事情作得不同。
公司這邊大概十幾人的團隊,版本控制等重要的服務器放在比較省心的地方,可是開發服務器仍是須要放在本地局域網環境中,保證訪問速度,減小網速等因素對工做效率的影響。因爲開發服務器不須要不間斷的工做,所以合理的利用以及節約資源是須要的。其實因爲前面徹底人工管理開發服務器,常常忘記關機,已經報廢了好幾塊硬盤,早上到公司後也不是第一時間開啓服務器,連不上數據庫了纔想起開發服務器沒開啓,也很耽誤時間。linux
初步的需求設想:
1.自動開機關機,延長機器壽命。
2.大部分server都是在這臺機器上掛的虛擬機,因此也須要管理虛擬機開機關機。
3.炎熱夏季,控制空調開關。ios
自動開機關機方案: 如今的主板bios中通常都支持自動開機,電源管理裏面能夠設置自動開機時間,缺點是隻能按照星期設定。自動關機就更簡單了,windows裏面制定任務計劃執行bat(linux下任務計劃執行shell也是同樣的), 自動關機命令shell
shutdown -s
爲何選擇執行bat的方式關機?----------由於還要關閉虛擬機。數據庫
虛擬機自動開機關機方案: 虛擬機採用的是virtualbox,經過bat調用virtualbox的啓動和關機命令便可,可是這裏須要注意的是:a.有時候掛了虛擬機會忘記設置虛擬機的屏保時間,形成虛擬機是屏保狀態,調用一次關機只是喚醒了虛擬機,而不是關機,這裏須要注意間隔上一兩分鐘再次調用關機命令。b.virtualbox有一個headless模式,即不啓動虛擬機的圖形界面,一headless模式啓動虛擬機會節省很多資源,缺點是不能遠程桌面鏈接了,咱們選擇的是節省資源。windows
cd C:\Program Files\Oracle\VirtualBox
關機命令api
VBoxManage controlvm {c7a8b98d-c571-44a6-ba99-964274dd3a0b} acpipowerbutton
開機命令服務器
VBoxManage startvm {c7a8b98d-c571-44a6-ba99-964274dd3a0b} --type headless
括號內是虛擬機的惟一標識,顯示uuid的命令(startvm 命令的參數也能夠是虛擬機名稱,名稱內有空格的時候,給整個名字加上引號)app
VBoxManage list vms
控制空調方案: 用智能開關直接控制空調的電源?固然你想這麼作也不是不能夠,會不會忽然斷電把空調的壓縮機給廢了,我就不解了。less
咱們採用的方案是遙控。如今的空調幾乎都帶遙控,遙控的原理就是紅外信號,淘寶上能夠買到一種插到手機耳機接口上的紅外發射器(很便宜,幾塊錢一個),原理是播放wav音頻,產生電流,紅外發射器根據電流的變化,發射出紅外信號,進而達到控制目的,經常使用的app有遙控精靈、遙控大師。ui
如何讓這個接耳機接口的紅外發射器在電腦上工做起來,其實就是在電腦上播放wav文件而已。。。bat直接調用media player便可,須要注意的是電腦音量開到最大,電腦聲卡功率不一樣效果會有差異。接紅外發射器以及播放wav文件都很簡單,如何獲取開空調關空調命令的wav數據纔是關鍵,隨後再專門寫一篇文章講解。
下一步的計劃: 1.買一個arduino板子,把各種控制獨立出來。 2.支持語音控制,好比導出某服務器的某數據這樣子的操做經過語音控制,相信會極大提升效率(腦子太笨了,命令太多了,記不住啊記不住) 3.自動備份各種數據到網盤全(免費空間真不小,不利用起來太浪費)。這部分已經作了一些工做,起初想的是經過調用網盤api來上傳,無奈世界太現實,能夠看看個人另外一篇博文《國內巨頭OPEN現狀》。簡單有效的辦法就是裝一個網盤客戶端,把要備份的數據導出到指定目錄,讓網盤客戶端同步那個目錄吧。