Tổng quan
Độc giả sẽ biết làm cách nào để chỉnh sửa dung lượng database trong controller và xóa đi các dữ liệu database cũ.
Unifi sử dụng MongoDB để lưu trữ các thông tin có liên quan về các thiết bị kết nối, cấu hình điều khiển, khách hàng và thống kê.
UniFi Controller quản lí nhiều thiết bị hoặc đăng nhập nhiều clients có thể trở nên rất nhiều theo thời gian nếu không kiểm soát. Bài viết sau đây sẽ giải thích làm thế nào để loại bỏ các số liệu theo ngày qui định. Các lệnh sẽ không xóa bỏ các dữ liệu điều khiển của controller như phần block user
Lưu ý : Từ phiên bản controller V5 tính năng loại bỏ dữ liệu cũ đã tính hợp sẵn trong phần Setting -> Maintenance
Windows
Điều kiện đầu tiên : Controller phải chạy trước khi thực hiện các lệnh. Luôn sao lưu lại cấu hình controller để dự phòng
Step 1: Download mongo
Vào trang https://www.mongodb.com/download-center#community chọn version 2.4.14 và download về máy
Step 2: Extract mongo
Giải nén \bin\mongo.exe vào thu mục vd : C:\prune\
Step 3: Download Script
Vào trang https://help.ubnt.com/hc/en-us/article_attachments/204082688/mongo_prune_js.js download file về máy
Step 4: Open Command Prompt
Mở CMD theo lệnh sau : nhấn nút biểu tượng Windows+R và nhập vào cmd sau đó enter
Step 5: Enter Working Directory
Trong cmd nhập vào thư mục đã giải nén ở bước 2
cd C:\prune\
Step 6: Perform Test Run
Mặc định các lệnh sẽ chạy ở chế độ “ dryrun” và sẽ hiện ra bảng sau :
Step 7: Disable "dryrun"
Chỉnh sửa lệnh để vô hiệu hóa dryrun và cấu hình số ngày của dữ liệu cần giữ. Theo mặc định, các script sẽ giữ dữ liệu 7 ngày.
Step 8: Prune the Database
Chạy phần Script đã sửa
mongo.exe --port 27117 < mongo_prune_js.js
Lưu ý: Khi cơ sở dữ liệu thực sự được sửa đổi, bước này có thể mất thời gian lâu so với chạy thử ở Bước 6. Không được ngắt giao diện điều khiển cho đến khi bạn nhận được một thông báo kết thúc.
Step 9: Verify Completion
Hãy kiểm tra lại các bước trên đã thành công và không có lỗi nào được phản hồi. Đầu ra phải tương tự như sau :
Step 10 (Optional): Cleanup
Xóa các thư mục mà bạn đã tạo và các tập tin bên trong, nếu bạn không có ý định sử dụng nó một lần nữa.
Mac OS
Điều kiện đầu tiên : Controller phải chạy trước khi thực hiện các lệnh. Luôn sao lưu lại cấu hình controller để dự phòng
Step 1: Create Working Directory
Tạo một thư mục làm việc trên máy tính. Với mục đích của bài viết này, chúng tôi sẽ tạo ra một thư mục có tên / prune.
Step 2: Download mongo
Download theo link https://www.mongodb.com/download-center#community chọn OSX tab -> version 2.4.14 và download về máy dạng file .tgz
Step 3: Extract mongo
Di chuyển các gói tải về vào thư mục chứa , và giải nén nó
step 4: Move mongo to Working Directory
Xác định vị trí các file bin / Mongo, và sao chép nó vào thư mục.
Step 5: Enter Working Directory
Mở Terminal window và chọn theo đường đẫ đã tạo ở bước 1
cd /prune
Step 6: Download Script
curl "https://help.ubnt.com/hc/en-us/article_attachments/204082688/mongo_prune_js.js" -o "mongo_prune_js.js"
Step 7: Perform Test Run
Thực hiện chạy thử script. Theo mặc định, các script đang ở chế độ "dryrun" và sẽ chỉ ra những gì sẽ được cắt bỏ từ các cơ sở dữ liệu. Bước này là để đảm bảo rằng các script làm việc :
./mongo --port 27117 < mongo_prune_js.js
Màn hình sẽ có dạng như bên dưới :
Step 8: Disable "dryrun"
Chỉnh sửa script để vô hiệu hóa dryrun và cấu hình số ngày giá trị của dữ liệu để giữ. Theo mặc định, các script sẽ giữ 7 ngày giá trị của dữ liệu. Sử dụng nano hoặc một trình soạn thảo tương tự để thay đổi script, như vậy:
nano mongo_prune_js.js
Nếu sử dụng nano để chỉnh sửa các tập tin, sử dụng các phím mũi tên để di chuyển văn bản và tiến hành sửa các thông số .Nhấn CTRL + O để lưu file (nhấn Enter để xác nhận) và Ctrl + X để thoát.
Step 9: Prune the Database
Chạy đoạn script đã chỉnh sửa
./mongo --port 27117 < mongo_prune_js.js
Lưu ý: Khi cơ sở dữ liệu thực sự được sửa đổi, bước này có thể mất thời gian lâu so với chạy thử ở Bước 6. Không được ngắt giao diện điều khiển cho đến khi bạn nhận được một thông báo kết thúc.
Step 10: Verify Completion
Hãy kiểm tra lại các bước trên đã thành công và không có lỗi nào được phản hồi. Màn hình phải tương tự như sau :