QuanTriMang - Việc sao lưu
toàn bộ 1 website hoặc blog bất kỳ có thể là công đoạn khó khăn và phức
tạp, yêu cầu nhiều phần mềm, công cụ hỗ trợ, người quản trị có nhiều kỹ
năng và kinh nghiệm, hoặc sự hỗ trợ trực tiếp từ phía đơn vị cung cấp
hosting. Nhưng trên thực tế, thì nhiều lúc bạn sẽ không cần đến
những yếu tố trên. Nếu có quyền SSH để truy cập tới host (yêu cầu tối
thiểu là 1 mô hình mạng cá nhân ảo –
Virtual Private Server),
thì mọi việc sẽ trở nên đơn giản hơn rất nhiều, bạn có thể sao lưu,
phục hồi, di chuyển... hoặc thực hiện các thao tác khác với toàn bộ
website chỉ với vài câu lệnh.
Vậy SSH Command Line là
gì?Hiểu theo cách nôm na, SSH cho phép bạn “nói chuyện” trực tiếp với
web server. Không có khái niệm về giao diện, nút điều khiển chức năng...
tất cả đều được thực hiện qua dòng lệnh cơ bản. Có thể đây là trở ngại
rất lớn đối với nhiều người, nhưng bù lại, sức mạnh tuyệt đối, tốc độ
làm việc vô cùng nhanh chóng cùng với tính linh động cao, tích hợp nhiều
cơ chế tự động... thì
SSH Command Line lại trở thành
công cụ không thể thiếu khi bạn đã làm chủ được nó.
Nhưng trên thực tế, hầu hết các gói host chia sẻ lại không cung cấp
quyền truy cập SSH tới tài khoản của người dùng. Nếu bạn đang sử dụng
dịch vụ của GoDaddy, hãy tham khảo thêm về quá trình này tại
đây. Để
đăng nhập qua SSH, mở ứng dụng
Terminal trong OS X và
gõ lệnh theo cú pháp sau:
ssh
username@yourdomain.comHệ thống sẽ yêu cầu người sử dụng nhập mật khẩu, nếu bạn chưa từng sử
dụng SSH từ trước đến giờ, thì chắc hẳn sẽ rất ngạc nhiên vì khi gõ
password, màn hinh không hiển thị gì cả. Không cần phải lo lắng, vì tính
năng đó được sử dụng để đảm bảo an toàn cho hệ thống. Sau khi đăng nhập
vào bên trong, tất cả những gì bạn nhìn thấy chỉ là dòng lệnh, tương tự
như sau:
-bash-3.2$Có nghĩa rằng mọi việc đều ổn định. Tiếp theo, chúng ta sẽ tìm hiểu
thêm về những cú pháp cơ bản khác. Để liệt kê ra các thư mục và danh
sách file hiện tại, các bạn gõ lệnh:
lsCòn nếu muốn thay đổi thư mục:
cd
directorynameTrong trường hợp này, chúng ta sẽ chuyển tới thư mục
httpdocs
– là thư mục gốc của toàn bộ website, sử dụng lệnh như sau:
Sao lưu database:Thực chất, đây có thể coi là 1 quá trình sao lưu toàn bộ các file
quan trọng của website. Trước tiên là 3 thông tin quan trọng nhất của
toàn bộ cơ sở dữ liệu, được tìm thấy trong file
wp-config.php (đối với WordPress):
- Tên cơ sở dữ liệu
- Tài khoản database
- Mật khẩu
Khi sử dụng cú pháp lệnh này, các bạn nhớ để ý thay thế những thông
tin trên với hệ thống thực tế, bao gồm username, table name, file
backup... tương ứng:
mysqldump
--add-drop-table -u username -p tablename > backupfilename.sqlNhấn Enter, điền mật khẩu và quá trình sẽ tự động được tiến hành. Các
bạn nhớ hãy sử dụng lệnh ls để kiểm tra các file được tạo xem có chuẩn
xác với yêu cầu hay không.
Sao lưu dữ liệu:Sau bước trên, toàn bộ cơ sở dữ liệu đã được sao lưu thành 1 file sql
duy nhất trên server, tiếp theo là quá trình sao lưu toàn bộ dữ liệu
thành 1 file nén duy nhất, đề phòng trường hợp rủi ro xảy ra.
tar
-vcf yourbackupfilename.tar .Thay thế
yourbackupfilename với tên file sao lưu
theo ý muốn của bạn. Tại câu lệnh này, Tar là 1 chuẩn định dạng file nén
phổ biến trong Linux, tương tự như zip nhưng hiệu quả hơn nhiều, còn
-vcf là 1 lựa chọn khác của hệ thống, với chức năng tạo file nén và liệt kê
danh sách các thao tác đang thực hiện, và tiếp theo là tên của file nén
lưu trữ đó. Cuối cùng là 1 dấu chấm để yêu cầu hệ thống sao lưu tất cả
mọi thứ, chúng ta có thể sử dụng ký tự * thay thế, nhưng đôi khi sẽ bỏ
qua các file ẩn như
.htaccess – vốn rất quan trọng với
WordPress.
Sau khi kết thúc quá trình trên, chúng ta sẽ có 1 file nén .tar duy
nhất, tất cả những gì cần làm tại lúc này là đăng nhập qua FTP và tải
file đó về máy tính.
Khôi phục mọi thứ:Giả sử rằng tình huống xấu nhất xảy ra, bạn mất toàn bộ dữ liệu của
website, tất cả những gì còn lại là file sao lưu của quá trình trên. Và
bây giờ việc cần làm ngay lúc này là phục hồi lại hoạt động của website.
Trước tiên, hãy đăng nhập qua FTP và upload file sao lưu tới server,
bên cạnh đó, các bạn hãy nhớ di chuyển file sao lưu gần đây nhất ra khỏi
thư mục root và bắt tay vào tiến hành.
Giải nén file sao lưu trực tiếp trên server:
tar
-vxf yourbackupfilename.tarĐiểm khác biệt ở đây so với câu lệnh bên trên là cú pháp -vxf, có
nghĩa là giải nén file *.tar đó. Điểm cần chú ý quan trọng là tại bước
này, hãy tạo 1 cơ sở dữ liệu hoàn toàn trống với tên tài khoản và mật
khẩu giống với database trước đó, sau đó gõ lệnh:
mysql
-u username -p tablename > databasebackupfilename.sqlRất đơn giản và dễ dàng, nếu mọi thứ được thiết lập đúng theo yêu cầu
của hệ thống, quá trình sao lưu sẽ hoàn tất nhanh chóng và bạn sẽ không
còn phải vất vả như trước kia nữa. Trong bài tiếp theo, chúng ta sẽ
cùng nhau tìm hiểu và thực hiện việc tự động hóa quá trình này với đoạn
shell
script và câu lệnh
CRON. Chúc các bạn thành
công!