GIT –  AutoMySQLBackup là một mã shell cho phép bạn sao lưu dự phòng cho CSDL 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:

$ wget http://sourceforge.net/projects/automysqlbackup/files/latest/download

$ tar xvfz automysqlbackup-v3.0_rc6.tar.gz

$ mkdir /etc/automysqlbackup/

$ mv automysqlbackup automysqlbackup.conf  CHANGELOG  .sh  LICENSE  README /etc/automysqlbackup/

Sau đó chạy install.sh để cài đặt

# ./install.sh
### Checking archive files for existence, readability and integrity.

automysqlbackup … exists and is readable … md5sum okay
automysqlbackup.conf … exists and is readable … md5sum okay
README … exists and is readable … md5sum okay
LICENSE … exists and is readable … md5sum okay

Select the global configuration directory [/etc/automysqlbackup]:
Select directory for the executable [/usr/local/bin]:
### Creating global configuration directory /etc/automysqlbackup:

exists already … searching for config files:

### Copying files.

cp: `automysqlbackup.conf’ and `/etc/automysqlbackup/automysqlbackup.conf’ are the same file
cp: `LICENSE’ and `/etc/automysqlbackup/LICENSE’ are the same file
cp: `README’ and `/etc/automysqlbackup/README’ are the same file

if you are running automysqlbackup under the same user as you run this install script,
you should be able to access it by running ‘automysqlbackup’ from the line.
if not, you have to check if ‘echo $PATH’ has /usr/local/bin in it

Setup Complete!

Thay đổi nội dung file automysqlbackup.conf . 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.conf
[…]
USERNAME=
[…]
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=”hautp@gocit.vn”
[…]

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

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

$ ./automysqlbackup

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

$ /etc/automysqlbackup/automysqlbackup

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

# automysqlbackup
======================================================================
AutoMySQLBackup VER 3.0
http://sourceforge.net/projects/automysqlbackup/

Backup of Database Server – server.gocit.vn
======================================================================
Backup Start Time Tue Oct 29 16:00:51 CEST 2012
======================================================================
Daily Backup of Database ( db_ispconfig )
Rotating last weeks Backup…

Backup Information for /backups/daily/db_ispconfig/db_ispconfig_2012-10-29_16h00m.Tuesday.sql
compressed uncompressed ratio uncompressed_name
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2012-10-29_16h00m.Tuesday.sql
———————————————————————-
Backup End Fri Oct 29 16:00:52 CEST 2012
======================================================================
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
======================================================================
#

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:

# 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

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_2012-10-29_16h00m.Tuesday.sql.gz

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_2012-10-29_16h00m.Tuesday.sql.gz

… (câu lệnh trên sẽ xả nén gói có tên db_ispconfig_2012-10-29_16h00m.Tuesday.sql) và sau đó khôi phục

Thảo luận bài viết tại forum : http://forum.gocit.vn/threads/automysqlbackup.569/

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly

Comments

comments

Bài viết liên quan