2025/03/20

之前一直都是使用nc來傳資料到 syslog
但這几天發現做好的檔案都被砍了
反正eset現在不允許nc的執行
另外找了一個 sfk
之前有試過 但當時有不少bug
語法如下

sfk oload log.txt +udpsend 10.0.0.1:514


2025/03/15

最近又有人反應讀取mail的速度很慢
讀寫大量小檔的效能基本上很難提升
查到使用 noatime nodiratime 應該可以改善一些
原理讀取時不會再去update 檔案資訊 
這裡說的資訊如下 

stat test

檔案:test
  大小:87              區塊:8          IO 區塊:4096   一般檔案
裝置:801h/2049d        Inode:15466774    實際連結 (hardlink) :1
權限:(0664/-rw-rw-r--)    Uid:( 1000/      aa)  Gid:( 1000/      aa)
最近存取:2025-03-15 08:40:59.971496391 +0800
最近變更:2020-10-14 05:42:44.007905808 +0800
最近變更:2020-10-14 05:42:44.059906505 +0800
建立時間:-

把以上二個參數加到 /etc/fstab裡要作用的分區 再remount 即可

UUID=xxxx-xxxx-xxxx-xxxx /home xfs defaults,noatime,nodiratime 0 0


再觀察看看效果有多少

2025/03/12

最近要移除client端的軟体
包括 anydesk teamviewer winrar java 等等
一開始的想法是從eset protect定期下指令
於是設定了以下指令排程

"%ProgramFiles(x86)%\anydesk\anydesk.exe" --silent --remove
"%ProgramFiles%\TeamViewer\uninstall.exe" /S
"%ProgramFiles(x86)%\TeamViewer\uninstall.exe" /S
"%programfiles%\WinRAR\uninstall.exe" /s
"%programfiles(x86)%\WinRAR\uninstall.exe" /s

但發現不一定會有 uninstall.exe 這個檔案 所以不一定會成功
接著查到可以使用 powershell來處理 指令如下

powershell -Command "Get-WmiObject -Query 'SELECT * FROM Win32_Product WHERE Name LIKE ''Java%'' AND vendor LIKE ''oracle%''' | ForEach-Object { $_.Uninstall() }"

試了一下 powershell指令無法直接從eset protect直接下

為了執行時不跳出訊息
只能依照之前的做法 寫成uninstall.vbs   再加入client排程

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "powershell -Command ""Get-WmiObject -Query 'SELECT * FROM Win32_Product WHERE Name LIKE ''Java%'' AND vendor LIKE ''oracle%''' | ForEach-Object { $_.Uninstall() }""", 0, False


schtasks /create /tn "uninstall task" /tr "C:\ProgramData\uninstall.vbs" /sc weekly /d MON /st 09:00 /ru abc /f

之後如果需要再移除其他軟体 再更改 uninstall.vbs重新派送即可


20250329 補充

在某些狀況下 還是需要切換到系統管理員身分才有作用
必須再安裝 gsudo 
安裝後使用 gsudo 執行指令 才行