請問大神們,目前寫維運腳本使用 powershell 或 nodejs 或 python ?
目前偏好 powershell ,但網路上的文章讓我感覺只會 powershell 很沒前途。
之前聽到有講座老師說 powershell 可以控制微軟作業系統的任何東西~~~
不過不同版本的windows對應的powershell版本會不一樣~~
powershell只是一個工具,不過最順手的工具最好~
我個人目前比較熟悉的工具就是Powershell ,所以也沒啥好選擇的,重學一門語言都要花不少時間。
Powershell 雖然號稱可以跨平台,但對於一些指令的相容度是不同的,尤其是系統相關的東西
我會使用 Powershell 呼叫 Linux 上的工具來達成目標,而不是用純粹的 Powershell Cmdlet
資料庫部分,我在Windows 平台上可以用 sqlcmd 或是 Native Client 連接
抓取 IIS Log ,經過時間轉換、存入SQL資料庫(Bulk Copy)
但是在 Linux 平台上,只能使用 SqlServer Module
爬站可以使用 Selenium,寫過一些下載特定漫畫網站的圖片,以及自動化操作 Synology NAS 的工具
寫過下載串流 .ts,呼叫 ffmpeg 合併成 mp4
可以透過 gmail 發送郵件或是呼叫 Google Text to Speech API 將文字轉成 mp3
也可以讀取 Synology LDAP Server
還可以透過 posh-ssh module 去管理 Fortigate Firewall
包過 Container ,單純運行 pwsh 7,感覺效益不大。
目前在玩 powershell script 當成 apache2 cgi 運行,包在 docker container 裡面,可以 get/post data,讀取MS資料庫(目前有些小問題),可以 Invoke-WebRequest 或是 Invoke-RestMethod...
Powershell 本身雖然可以使用 [System.Net.HttpListener]::new() 來啟用監聽 80 Port
但是要自己處理多工問題就很麻煩。
網路上有 Ironsoftware Powershell Universal 可以寫 Script 定時執行,或是簡單的 API ,但感覺實用性不大(沒辦法做到互動Get/Post Data),而且要錢(免費功能有限)。(已經包好成 Container)
WebJEA開源軟體需要搭配 IIS,IIS 又不能包成跨平台的 Container 所以就不考慮了
如果只是單純要在 Linux 上運行,我會建議還是去學 Shell Script 比較實在,因為Powershell 效率沒有比 Shell Script 好。(不過在 Linux 上用 Shell Script 寄送郵件,要自己處理格式問題,挺麻煩的),不像 Powershell 那麼簡單