Mã nguồn mở Việt Nam

Trình duyệt

Trình duyệt bạn đang sử dụng
 

Hệ điều hành

Hệ điều hành bạn đang sử dụng
 

Trực tuyến

Hiện có 16 khách Trực tuyến

Trang chủ Database Tạo bản sao lưu dự phòng cho MySQL với AutoMySQLBackup
Tạo bản sao lưu dự phòng cho MySQL với AutoMySQLBackup Email
Viết bởi canh_nguyen   
altAutoMySQLBackup là một mã shell cho phép bạn sao lưu dự phòng cho cơ sở dữ liệu MySQL theo ngày, tuần, tháng sử dụng mysqldump. Nó có thể sao lưu nhiều cơ sở dữ liệu, nén bản sao lưu, sao lưu cơ sở dữ liệu remote, và gửi nhật kí tới email. AutoMySQLBackup sử dụng mysqldump để tạo bản lưu cho cơ sở dữ liệu của bạn. Lưu ý là mysqldump sẽ khóa cơ sở dữ liệu trong khi sao lưu đang làm việc và nó có thể mất vài giây cho tới vài phút tùy thuộc vào dung lượng của cơ sở dữ liệu. Nếu bạn chạy trên một website có lượng truy cập cao với cơ sở dữ liệu lớn thì AutoMySQLBackup là không phù hợp cho bạn!

Mã này không giúp bạn thậm chí cả khi ổ cứng bị hỏng. Bạn cần copy lại bản sao lưu một cách ngoại tuyến để có sự an toàn tốt nhất.

Sử dụng AutoMySQLBackup

Bạn có thể tải về AutoMySQLBackup như sau:

$ cd /usr/local/bin
$ wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5


Sau đó mở automysqlbackup.sh.2.5 và xem các tùy chọn cấu hình. Tất cả đều được chú thích. Bạn nên chỉnh sửa lại các thiết lập sau:

$ vi automysqlbackup.sh.2.5

[...]
USERNAME=root
[...]
PASSWORD=yourrootsqlpassword
[...]
DBHOST=localhost
[...]
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="db_ispconfig web1 web2 web3"
[...]
# Backup directory location e.g /backups
BACKUPDIR="/backups"
[...]
# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"
[...]


DBNAMES có thể có 1 hoặc nhiều cơ sở dữ liệu, phân cách bằng khoảng trắng.

Nếu BACKUPDIR không tồn tại automysqlbackup.sh.2.5 sẽ tự động tạo nó.

Hãy chắc chắn bạn điền đúng mật khẩu và host cơ sở dữ liệu. Nếu bạn muốn sao lưu cơ sở dữ liệu local, hãy dùng localhost; nếu bạn muốn sao lưu cơ sở dữ liệu remote, hãy dùng the remote hostname (chú ý rằng cơ sở dữ liệu remote phải được bật ở phía máy đó!).

Bây giờ ta thực thi đoạn mã:

$ chmod 755 automysqlbackup.sh.2.5

Bây giờ bạn có thể chạy automysqlbackup.sh.2.5 như sau nếu bạn đang ở thư mục /usr/local/bin:

$ ./automysqlbackup.sh.2.5

... hoặc như sau nếu bạn đang ở thư mục khác:

$ automysqlbackup.sh.2.5

Đây là kết quả trả về:

server1:~# automysqlbackup.sh.2.5
======================================================================
AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/

Backup of Database Server - server1.example.com
======================================================================
Backup Start Time Fri Oct 17 16:00:51 CEST 2008
======================================================================
Daily Backup of Database ( db_ispconfig )
Rotating last weeks Backup...


Backup Information for /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql
compressed uncompressed ratio uncompressed_name
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Friday.sql
----------------------------------------------------------------------
Backup End Fri Oct 17 16:00:52 CEST 2008
======================================================================
Total disk space used for backup storage..
Size - Location
68K /backups

======================================================================
If you find AutoMySQLBackup valuable please make a donation at
http://sourceforge.net/project/project_donations.php?group_id=101066
======================================================================
server1:~#


Hãy xem thư mục /backups...

$ ls -l /backups

... và bạn sẽ thấy 3 thư mục con, daily, weekly, và monthly:

server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 daily
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 monthly
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 weekly
server1:~#


Các thư mục này sẽ chứa các thư mục con có tên sau khi cơ sở dữ liệu được bạn chọn để sao lưu. Ví dụ: nếu bạn chọn cơ sở dữ liệu db_ispconfig, sẽ có một thư mục /backups/daily/db_ispconfig chứa bản sao lưu:

$ cd /backups/daily/db_ispconfig
$ ls -l


server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r--r-- 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Friday.sql.gz
server1:/backups/daily/db_ispconfig#


Phần mở rộng .gz có nghĩa là nó được nén. Để khôi phục cơ sở dữ liệu, đầu tiên bạn cần xả nén cho nó:

$ gunzip db_ispconfig_2008-10-17_16h00m.Friday.sql.gz

... (câu lệnh trên sẽ xả nén gói có tên db_ispconfig_2008-10-17_16h00m.Friday.sql) và sau đó khôi phục
Các bình luận
Thêm mới Tìm kiếm
Viết bình luận
Tên:
Email:
 
Tiêu đề:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:):grin;)8):p:roll:eek:upset:zzz:sigh:?:cry
:(:x
 
Hãy điền mã chống spam mà bạn thấy trong ảnh.