P9 - Backup, Cron Schedule Và Restore Snipe-IT Trên Ubuntu
SnipeIT – P9 Restore Snipe-IT Trên Ubuntu | Full Backup, Cron Schedule & Restore Tutorial
Trong môi trường production, việc backup và Restore Snipe-IT Trên Ubuntu không phải là tùy chọn – mà là bắt buộc.
Snipe-IT lưu trữ toàn bộ dữ liệu tài sản CNTT, người dùng, license, file upload và cấu hình hệ thống. Nếu server gặp sự cố như:
❌ Crash hệ điều hành
❌ Hỏng ổ cứng
❌ Lỗi cấu hình
❌ Migration sang server mới
Bạn sẽ mất toàn bộ dữ liệu nếu không có chiến lược backup – restore rõ ràng.
Trong bài viết này, bạn sẽ học được:
✅ Backup đầy đủ Snipe-IT (Database + Files)
✅ Thực hiện backup thủ công qua CLI
✅ Tự động backup bằng Cron Job
✅ Restore Snipe-IT Trên Ubuntu khi hệ thống gặp sự cố
✅ Best practices về permission và bảo mật
Áp dụng cho:
Ubuntu Server 20.04
Ubuntu Server 22.04
Và các phiên bản Ubuntu mới hơn
Sau khi hoàn thành hướng dẫn này, bạn sẽ tự tin triển khai quy trình disaster recovery hoàn chỉnh cho Snipe-IT.
#1. Backup GUI (Manual)
Snipe-IT cung cấp sẵn tính năng backup trực tiếp trên giao diện web.
Các bước thực hiện:
Gui => Admin Setting => Backup => General Backup => Click Link Download
File backup tải về sẽ bao gồm:
Database dump
public/uploads
storage/private_uploads
OAuth keys
File cấu hình
.env
⚠ Phù hợp khi cần backup nhanh trước khi nâng cấp hệ thống.
#2. Backup CLI (Manual + Schedule)
Đối với môi trường production, backup bằng CLI là phương pháp nên sử dụng.
🔹 Manual Backup Command
Chạy lệnh sau:
sudo -u www-data php /var/www/snipe-it/artisan backup:run
File backup sẽ được lưu tại:
/var/www/snipe-it/storage/app/backups
Lệnh này tạo file ZIP chứa:
Full MySQL dump
public/uploads
storage/private_uploads
OAuth keys
File
.env
🔹 Scheduled Backup (Cron Job)
Để tự động hóa backup:
sudo crontab -e
Backup mỗi ngày lúc 2AM:
0 2 * * * /usr/bin/php /var/www/snipe-it/artisan backup:run >> /var/log/snipeit-backup.log 2>&1
Demo nhanh – backup mỗi 2 phút:
*/2 * * * * /usr/bin/php /var/www/snipe-it/artisan backup:run >> /var/log/snipeit-backup.log 2>&1
📌 Best Practice:
Lưu backup sang NAS hoặc storage ngoài
Đồng bộ offsite
Theo dõi log tại:
/var/log/snipeit-backup.log
Tự động hóa backup giúp đảm bảo dữ liệu luôn được bảo vệ mà không phụ thuộc thao tác thủ công.
#3. Restore
Đây là phần quan trọng nhất: Restore Snipe-IT Trên Ubuntu khi server gặp sự cố hoặc cần migration.
Step 1: Identify the Backup File
Liệt kê file backup:
ls -l /var/www/snipe-it/storage/app/backups
Ví dụ:
snipe-it-2025-12-01-10-36-01.zip
Tạo thư mục tạm để restore:
mkdir /tmp/snipe-restore
Giải nén file backup:
unzip /var/www/snipe-it/storage/app/backups/snipe-it-2025-12-01-10-36-01.zip -d /tmp/snipe-restore
Tìm file SQL:
ls /tmp/snipe-restore/db-dumps
Ví dụ:
mysql-snipeit.sql
Step 2: Delete the Old Database (Option)
⚠ Chỉ thực hiện nếu muốn restore full hệ thống (không phải migrate dữ liệu).
Xóa database cũ:
mysql -u root -p -e "DROP DATABASE snipeit;"
Enter mysql root password (Previous video : Abc@1234)
Tạo lại database:
mysql -u root -p -e "CREATE DATABASE snipeit CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
Enter mysql root password (Previous video : Abc@1234)
Import dữ liệu:
mysql -u root -p snipeit < /tmp/snipe-restore/db-dumps/mysql-snipeit.sql
Step 3: Restore Files
#1 Restore file uploads
sudo cp -r /tmp/snipe-restore/public/uploads/* /var/www/snipe-it/public/uploads/
#2 Restore private_uploads
sudo cp -r /tmp/snipe-restore/storage/private_uploads/* /var/www/snipe-it/storage/private_uploads/
#3 Restore OAuth keys
sudo cp /tmp/snipe-restore/storage/oauth-private.key /var/www/snipe-it/storage/
sudo cp /tmp/snipe-restore/storage/oauth-public.key /var/www/snipe-it/storage/
Phân quyền đúng:
sudo chown www-data:www-data /var/www/snipe-it/storage/oauth-*.key
sudo chmod 600 /var/www/snipe-it/storage/oauth-*.key
#4 Restore the .env file
sudo cp /tmp/snipe-restore/.env /var/www/snipe-it/.env
Step 4: Fix permissions + clear cache
Di chuyển vào thư mục Snipe-IT:
cd /var/www/snipe-it
Phân quyền lại toàn bộ:
sudo chown -R www-data:www-data .
Set permission cần thiết:
sudo chmod -R 755 storage bootstrap/cache
Clear Laravel cache:
sudo php artisan config:clear
sudo php artisan cache:clear
sudo php artisan optimize
Step 5: Restart the service
sudo systemctl restart apache2
🚀 Tổng Kết – Hoàn Thành Restore Snipe-IT Trên Ubuntu
Với quy trình trên, bạn đã hoàn thiện:
Backup GUI
Backup CLI
Cron Schedule tự động
Restore database
Restore file upload & private data
Phân quyền chuẩn Linux
Clear cache Laravel
Restart service
Việc Restore Snipe-IT Trên Ubuntu giờ đây không còn phức tạp, kể cả trong môi trường production hoặc khi cần migration server.
Một chiến lược backup – restore rõ ràng sẽ giúp:
Đảm bảo tính liên tục dịch vụ (Business Continuity)
Giảm downtime
Bảo vệ dữ liệu tài sản CNTT quan trọng
Đây là kỹ năng bắt buộc với IT System Administrator vận hành Snipe-IT chuyên nghiệp.
Tham khảo thêm bài viết cùng chủ đề
P13 – Professional Tạo Mã QR Cho Asset SnipeIT Cực Dễ
P13 – Professional Tạo Mã QR Cho Asset SnipeIT Cực Dễ SnipeIT – P13 Hướng Dẫn Tạo Mã QR Cho Asset Và In Tem QR Code Trong môi trường doanh nghiệp, việc quản lý tài sản IT nếu không có nhãn định danh rõ ràng sẽ rất dễ gây nhầm...
Read MoreP12 – Hướng dẫn Check in SnipeIT Hàng Loạt Cực Nhanh
P12 – Hướng dẫn Check in SnipeIT Hàng Loạt Cực Nhanh SnipeIT – P12 Cách Check-In & Check-Out Hàng Loạt Trong Snipe-IT (Bulk Method) Khi quản lý vài thiết bị, thao tác thủ công không phải vấn đề lớn. Nhưng khi cần xử lý 100–500 tài sản cùng lúc (onboarding,...
Read MoreP11 – Hướng dẫn Check in SnipeIT cho IT Admins
P11 – Hướng dẫn Check in SnipeIT cho IT Admins SnipeIT – P11 How to Manage Check In Check Out in SnipeIT (Step-by-Step) Trong quản lý tài sản CNTT, việc cập nhật trạng thái thiết bị chính xác là yếu tố sống còn. Nếu không thực hiện đúng quy trình...
Read More