Backup và Khôi phục dữ liệu
Một website thương mại điện tử hoạt động liên tục luôn đối mặt với rủi ro: mất dữ liệu, hỏng server, plugin lỗi, hoặc bị hack.
Backup thường xuyên là điều bắt buộc để đảm bảo khả năng phục hồi nhanh chóng và giảm thiểu thiệt hại.

Backup và Khôi phục dữ liệu
1. Backup database (MySQL / PostgreSQL)**
MySQL:
mysqldump -u [user] -p[password] [database] > backup.sql
PostgreSQL:
pg_dump -U [user] [database] > backup.sql
Gợi ý: nên lưu backup theo định dạng kèm ngày tháng, ví dụ backup_2025-04-07.sql
2. Backup source code & thư mục quan trọng
-
Các thư mục cần backup:
-
app/
– nơi chứa plugin, cấu hình, template override -
html/upload/
– chứa ảnh sản phẩm, file media -
composer.json
,composer.lock
,package.json
-
.env
,docker-compose.yml
nếu dùng Docker
-
-
Dùng lệnh tar:
tar -czvf eccube_backup_2025-04-07.tar.gz /var/www/eccube
3. Lên lịch tự động backup (cron job)
Tạo cron job chạy mỗi ngày lúc 3h sáng:
0 3 * * * /usr/bin/mysqldump -u root -p123456 eccube > /home/backup/db_$(date +\%F).sql
- Có thể kết hợp
rclone
để đẩy backup lên Google Drive, Dropbox... - Dùng
logrotate
hoặc script để xóa backup cũ sau X ngày
4. Khôi phục hệ thống khi gặp lỗi
Restore database:
mysql -u [user] -p [database] < backup.sql
Restore source code:
Giải nén file .tar.gz
vào lại thư mục EC-CUBE
tar -xzvf eccube_backup.tar.gz -C /var/www
Sau khi restore, nhớ chạy:
php bin/console cache:clear --env=prod
Kết luận
Backup không chỉ là thao tác kỹ thuật, mà là một phần của chiến lược bảo mật và đảm bảo tính liên tục cho hệ thống.
Dù bạn làm việc một mình hay trong team, hãy thiết lập cơ chế backup tự động, thường xuyên, dễ khôi phục.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com