資料介紹
軟件簡(jiǎn)介
fileboy 是一個(gè)文件變更監(jiān)聽通知系統(tǒng),使用 Go 編寫。
適用于 Hot Reload (典型的如開發(fā)go項(xiàng)目,無(wú)需每次手動(dòng)執(zhí)行 go build;又比如前端 node 打包) 或者 系統(tǒng)監(jiān)控的場(chǎng)景。
特性
- 極簡(jiǎn)的用法和配置
- 支持多平臺(tái),Windows/Linux/MacOS
- 支持自定義文件監(jiān)聽范圍,監(jiān)聽指定文件夾/不監(jiān)聽指定文件夾/指定后綴文件
- 支持自定義監(jiān)控事件(write/rename/remove/create/chmod)
- 支持設(shè)置多條命令
- 命令支持變量占位符
- 支持冗余任務(wù)丟棄,自定義冗余任務(wù)范圍
- 支持 http 通知
- 更多...
編譯環(huán)境
go version 1.13
更新日志
運(yùn)行
下載二進(jìn)制文件
Github:?download v1.12
Gitee:?dowmload v1.12
下載已經(jīng)編譯好的對(duì)應(yīng)平臺(tái)二進(jìn)制文件,重命名為fileboy
, 加入系統(tǒng) Path 中即可。
源碼編譯
clone 該項(xiàng)目,進(jìn)入主目錄,運(yùn)行命令:
## 安裝依賴 go get -u gopkg.in/fsnotify/fsnotify.v1 go get -u gopkg.in/yaml.v2 ## 編譯 go build ## 運(yùn)行 ./fileboy
使用
fileboy 的正常運(yùn)行依賴于?filegirl.yaml
?配置文件,因此首次在項(xiàng)目中使用需要初始化?filegirl.yaml
。
- 進(jìn)入你想要 hot reload 的項(xiàng)目主目錄下;
-
運(yùn)行?
fileboy init
,會(huì)在該目錄下生成?filegirl.yaml
文件; -
查看?
filegirl.yaml
,修改為適合自己項(xiàng)目的配置項(xiàng); -
運(yùn)行?
fileboy
即可.
如果你定義了?command -> exec
命令,想事先確認(rèn)是否能正常執(zhí)行,可以運(yùn)行?fileboy exec
命令,系統(tǒng)會(huì)嘗試運(yùn)行你的自定義命令。
你可以使用?fileboy help
查看使用幫助。
filegirl.yaml 配置文件說明
# 主配置 core: # 配置版本號(hào) version: 1 # 監(jiān)控配置 monitor: # 要監(jiān)聽的目錄 # test1 監(jiān)聽當(dāng)前目錄下 test1 目錄 # test1/test2 監(jiān)聽當(dāng)前目錄下 test1/test2 目錄 # test1,* 監(jiān)聽當(dāng)前目錄下 test1 目錄及其所有子目錄(遞歸) # .,* 監(jiān)聽當(dāng)前目錄及其所有子目錄(遞歸) includeDirs: - .,* # 不監(jiān)聽的目錄 # .idea 忽略.idea目錄及其所有子目錄的監(jiān)聽 exceptDirs: - .idea - .git - .vscode - node_modules - vendor # 監(jiān)聽文件的格式,此類文件更改會(huì)執(zhí)行 command 中的命令 # .go 后綴為 .go 的文件更改,會(huì)執(zhí)行 command 中的命令 # .* 所有的文件更改都會(huì)執(zhí)行 command 中的命令 types: - .go # 監(jiān)聽的事件類型,發(fā)生此類事件才執(zhí)行 command 中的命令 # 沒有該配置默認(rèn)監(jiān)聽所有事件 # write 寫入文件事件 # rename 重命名文件事件 # remove 移除文件事件 # create 創(chuàng)建文件事件 # chmod 更新文件權(quán)限事件(類unix) events: - write - rename - remove - create - chmod # 命令 command: # 監(jiān)聽的文件有更改會(huì)執(zhí)行的命令 # 可以有多條命令,會(huì)依次執(zhí)行 # 如有多條命令,每條命令都會(huì)等待上一條命令執(zhí)行完畢后才會(huì)執(zhí)行 # 如遇交互式命令,允許外部獲取輸入 # 支持變量占位符,運(yùn)行命令時(shí)會(huì)替換成實(shí)際值: # {{file}} 文件名(如 a.txt 、test/test2/a.go) # {{ext}} 文件后綴(如 .go) # {{event}} 事件(上面的events, 如 write) # {{changed}} 文件更新的本地時(shí)間戳(納秒,如 1537326690523046400) # 變量占位符使用示例:cp {{file}} /root/sync -rf 、 myCommand --{{ext}} {{changed}} exec: - go version - go env # 文件變更后命令在xx毫秒后才會(huì)執(zhí)行,單位為毫秒 # 一個(gè)變更事件(A)如果在定義的延遲時(shí)間(t)內(nèi),又有新的文件變更事件(B),那么A會(huì)取消執(zhí)行。 # B及以后的事件均依次類推,直到事件Z在t內(nèi)沒有新事件產(chǎn)生,Z 會(huì)執(zhí)行 # 合理設(shè)置延遲時(shí)間,將有效減少冗余和重復(fù)任務(wù)的執(zhí)行 # 如果不需要該特性,設(shè)置為 0 delayMillSecond: 2000 # 通知器 notifier: # 文件更改會(huì)向該 url 發(fā)送請(qǐng)求(POST 一段 json 文本數(shù)據(jù)) # 觸發(fā)請(qǐng)求的時(shí)機(jī)和執(zhí)行 command 命令是一致的 # 請(qǐng)求超時(shí) 15 秒 # POST 格式: # Content-Type: application/json;charset=UTF-8 # User-Agent: FileBoy Net Notifier v1.12 # Body: {"project_folder":"/project/path","file":"main.go","changed":1576567861913824940,"ext":".go","event":"write"} # 例: http://example.com/notifier/fileboy-listener # 不啟用通知,請(qǐng)留空 "" callUrl: ""
TODO
- ?命令支持變量占位符
- ?支持多命令
- ?支持監(jiān)聽指定文件夾
- ?支持不監(jiān)聽指定文件夾
- ?支持監(jiān)聽指定后綴文件
- ?支持自定事件監(jiān)聽
- ?支持 http 通知
- ?支持冗余任務(wù)丟棄
- ?支持 http 合并任務(wù)的通知
- 瑞薩產(chǎn)品變更通知(PCN)
- 關(guān)于CNAS調(diào)整認(rèn)可變更管理方式的通知
- MM32SPIN06系列版本變更通知(英文版) 0次下載
- MM32SPIN05系列版本變更通知(英文版) 0次下載
- MM32SPIN05PF 增加封裝供應(yīng)商變更通知表(英文版) 0次下載
- MM32SPIN05NW 新增框架第二供應(yīng)商變更通知表(中文版) 0次下載
- MM32F031系列版本變更通知(英文版) 0次下載
- MM32F031F6U6 新增框架第二供應(yīng)商變更通知表(中文版) 0次下載
- MM32F003系列版本變更通知(英文版) 0次下載
- MM32F003NW 新增框架第二供應(yīng)商變更通知表(中文版) 0次下載
- MM32F0130系列版本變更通知(英文版) 0次下載
- 產(chǎn)品變更通知:AS5132_PN000125_1-00.pdf
- 產(chǎn)品變更通知:AS3955_PN000114_1-00.pdf
- 音頻監(jiān)聽音箱系統(tǒng)--AMS160
- 音頻監(jiān)聽音箱系統(tǒng)
- 如何修改buildroot和debian文件系統(tǒng) 524次閱讀
- Agith:openEuler 運(yùn)維變更觀測(cè)工具 989次閱讀
- 一個(gè)串口工具監(jiān)聽多路串口收發(fā)方案 3553次閱讀
- C程序設(shè)計(jì)基礎(chǔ)-文件系統(tǒng) 839次閱讀
- FreeRTOS任務(wù)通知簡(jiǎn)介及實(shí)現(xiàn) 2138次閱讀
- Verilog中關(guān)于文件操作的系統(tǒng)任務(wù) 1639次閱讀
- 什么是分布式文件系統(tǒng) 4290次閱讀
- 聲控傳感器構(gòu)成的防盜監(jiān)聽電路 3322次閱讀
- 基于PDM系統(tǒng)的工程變更優(yōu)化研究與實(shí)踐 1151次閱讀
- 文件系統(tǒng)是什么?淺談EXT文件系統(tǒng)歷史 5723次閱讀
- 關(guān)于監(jiān)聽:頻率響應(yīng)和個(gè)人偏好 4646次閱讀
- debian安裝zfs文件系統(tǒng) 1w次閱讀
- 一文詳解載波監(jiān)聽技術(shù)(CSMA算法分析) 1w次閱讀
- hifi音箱和監(jiān)聽音箱的區(qū)別 2.3w次閱讀
- 玩轉(zhuǎn)Linux,先把文件系統(tǒng)搞懂 2083次閱讀
下載排行
本周
- 1U盤一鍵制作
- 23.84 MB | 3次下載 | 免費(fèi)
- 2ch341驅(qū)動(dòng)
- 0.18 MB | 1次下載 | 免費(fèi)
- 3貼片電阻阻值代號(hào)
- 0.08 MB | 1次下載 | 1 積分
- 4DS-CM5A H24-CN-V2
- 524.28 KB | 1次下載 | 免費(fèi)
- 5基于Linux的液晶顯示屏驅(qū)動(dòng)技術(shù)的研究與應(yīng)用
- 14.59 MB | 次下載 | 1 積分
- 6研華AIMB-218工控主板用戶手冊(cè)
- 4.45 MB | 次下載 | 1 積分
- 7研華AIMB-275工控主板用戶手冊(cè)
- 3.11 MB | 次下載 | 1 積分
- 8ST NPI 新上架產(chǎn)品【DCP0606Y】
- 1.35 MB | 次下載 | 免費(fèi)
本月
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 60次下載 | 免費(fèi)
- 2晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 3九陽(yáng)豆?jié){機(jī)高清原理圖
- 2.47 MB | 31次下載 | 1 積分
- 4雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6Altium Designer元件庫(kù)
- 17.11 MB | 11次下載 | 免費(fèi)
- 7STM32F10xxx單片機(jī)編程手冊(cè)
- 0.29 MB | 5次下載 | 免費(fèi)
- 8HT8691R內(nèi)置BOOST升壓模塊的D類音頻功率放大器中文手冊(cè)
- 1.77 MB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183339次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論