Tải bản đầy đủ (.pdf) (7 trang)

Tạo bản sao lưu dự phòng cho MySQL với AutoMySQLBackup pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (118.79 KB, 7 trang )

Tạo bản sao lưu dự phòng cho MySQL với
AutoMySQLBackup
AutoMySQLBackup 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
/>.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? ()
MAILADDR=""
[ ]

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


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

========================================================
==============
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

×