Tuesday, October 9, 2007

Tự động back-up CSDL MySQL

Việc backup CSDL đã trở thành vấn đề sống còn cho các webmaster ngăn chặn những thiệt hại đáng tiếc xảy ra khi website bị lỗi, nhưng việc liên tục vào để backup đúng là một cực hình và cũng rất mất thời gian.
Đối với những hosting có hỗ trợ chế độ tự động chạy backup thì quá tốt, nhưng với những hosting ko hỗ trợ thì sao, cái này cần phải xem xét kĩ đó vì ngày nào cũng vào thì mệt mà việc backup đặt file chưa chắc đã được chính xác.
Trong bài viết này tôi sẽ hướng dẫn các bạn backup tự động trên các hosting không hỗ trợ việc này, và file sau khi backup sẽ được lưu trữ : trên 1 hòm thư đối với CSDL dạng nhỏ và trên host với CSDL khá lớn.
Đầu tiên các bạn cần 2 tools nhỏ là PhpJobScheduler và
PhpMySQLAutoBackup
Bạn hãy tải 2 files trên, giải nén và sửa đổi một chút trước khi up lên host.

Đối với PhpJobScheduler :

Không phải sửa gì

=))

Đối với PhpMySQLAutoBackup

Mở file run.php và sửa các thông tin cho đúng với host của bạn
$db : tên của CSDL
$mysql_username : username
$mysql_password : password
$emailaddress : điạ chỉ mail mà bạn muốn gửi file backup về
$save_backup_zip_file_to_server : set là 1 nếu bạn muốn nhớ file đó trên server

Sau khi upload lên server rồi, bạn hoàn toàn có thể chạy thử chế độ backup thủ công như sau : gõ vào trình duyệt :

http://sitecuaban/phpMySQLAutoBackup/run.php

Và đợi một chút, nếu có thư gửi đến hoặc file được save lại thì việc cần làm với phpMySQLAutoBackup kết thúc

Tiếp theo là PhpJobScheduler, sau khi upload xong bạn CHÚ Ý làm như sau

Đặt mật khẩu cho thư mục pjsfiles, cái này là tối quan trọng vì pjsfiles là nơi để bạn thêm những việc chạy tự động.
Mở đường dẫn sau : http://sitecuaban/PhpJobScheduler/pjsfiles/index.php và cấu hình CSDL, tên đăng nhập và pass của CSDL, việc này chỉ cần làm 1 lần duy nhất

Tiếp theo là edit một số thứ trong trang web của bạn
Thêm đoạn mã sau vào ĐẦU trang index của bạn (index.php hoặc bất cứ trang nào liên quan đến nó)



Hoặc thêm đoạn mã sau vào CUỐI trang index, bạn phải đảm bảo cho đoạn mã này xuất hiện khi trang web được mở ra.



Cách thứ 2 có vẻ đơn giản hơn nhưng người dùng có thể thấy link đến nơi backup của bạn, tuy nhiên biết link cũng chả làm được gì vì mình có pass rùi mà ^^

Cuối cùng là vào http://sitecuaban/PhpJobScheduler/pjsfiles/index.php để bắt đầu thiết đặt những file làm tự động, trong đó bạn hãy thêm vào link sau http://sitecuaban/phpMySQLAutoBackup/run.php và thiết đặt thời gian là 1 giờ, 1 ngày hay 1 tuần, chỉ cần trong khoảng 30 phút chênh lệch trước giờ bạn đặt thì data sẽ tự động được backup.

Vậy nếu site của bạn không có đông người truy cập lắm thì sao nhỉ, vấn đề này giải quyết rất đơn giản thôi, bạn hãy mở file config.inc.php trong thư mục pjsfiles ra, chỉnh TIME_WINDOW từ 1800 thành thời gian bạn muốn (tính bằng giây), mặc định 1800 tức là 30 phút.
Vậy là cơ bản đã xong, việc tui nói đến CSDL nhỏ lớn lúc đầu của tutorial này thực ra vô cùng đơn giản, bạn chỉ cần chú ý một chút, khi sửa file run.php, nếu là CSDL nhỏ bạn hãy đặt mail, còn nếu CSDL quá lớn, hãy đặt chế độ save trên server, khi này bạn sẽ phải CMOD file backup lên 777 đó.
Enjoy với một CSDL được backup liên tục nhé :D

No comments: