Trang chủ / VPS / Hướng dẫn sử dụng Git để backup, khôi phục trên VPS
hướng dẫn sử dụng git trên vps linux

Hướng dẫn sử dụng Git để backup, khôi phục trên VPS

Git là gì

Khi làm việc với Linux bằng command line, có một thiếu sót rất lớn đó là chúng ta không thể khôi phục các thay đổi trên VPS. Giả sử bạn muốn chỉnh sửa một file nào đó nhưng kiến thức lại không chuyên thì rất có thể sau khi chỉnh sửa sẽ dẫn đến hệ thống không  hoạt động được, ví dụ như bạn cần chỉnh sửa file cấu hình NGINX nhưng sau đó lại bị lỗi mà bạn không làm cách nào để có thể khôi phục file cấu hình đó về trạng thái trước đó, đây là một vấn đề khá lớn và cần được khắc phục để chúng ta có thể làm việc với Linux tốt hơn và Git ra đời để bù đắp thiếu sót đó cho Linux.

Trong bài viết này, mình sẽ hướng dẫn các bạn sử dụng Git để backup, khôi phục các thay đổi trên command line. Mình sẽ làm trên một VPS chạy Debian 8, các bạn dùng Unbuntu thì cũng tương tự, không có gì khác nhau cả.

Cài đặt Git

Trên Unbuntu/Debian bạn chạy lệnh sau

apt-get update
apt-get install git

Khi  cài đặt xong, bạn cần thêm một vài thông tin bằng lệnh sau:

git config --global user.name "tên_của_bạn"
git config --global user.email "emai_của_bạn"

Giờ bạn hãy di chuyển đến thư mục mà bạn cần backup với git, ở đây mình chọn thư mục /etc để backup toàn bộ file trong thư mục này, sau đó gõ lệnh git init để nạp thư mục vào git.

cd /etc 
git init

Sau khi gõ lệnh git init là bạn đã khởi tạo thư mục /etc thành thư mục git. Giờ gõ lênh sau để thêm toàn bộ file trong thư mục /etc/ và thư mục git mà bạn vừa tạo, vì mặc định khi bạn tạo nó sẽ thư mục trống.

git add .</code></pre>
Như vậy từ giờ mỗi khi thay đổi cái gì đó mà bạn muốn backup lại để khôi phục về sau, bạn chỉ cần gõ
<pre class="code-pre "><code>git commit -m "ghi chú gì đó"

Note: Nếu bạn chỉ commit một file thôi thì go lệnh sau

git commit tên_file -m "ghi chú gì đó"

File của bạn đã được commit vào git repository.

Bây giờ nếu bạn muốn khôi phục về phiên bản trước của tập tin thì bạn cần biết mã hash của nó, để xem mã hash bạn gõ

git log

Nó sẽ hiện rả cho bạn thông tin như bên dưới, lịch sửa của các lần commit

commit a7f95df599584090a5ae91e8bb3df1459c41f498
Author: Steve Dien <contact@crazytut.com>
Date:   Wed Nov 4 22:21:22 2015 +0700

    HPKP added

commit 314f37bf2f4b0bc3adda886c70c0a9cdeb3de97a
Author: Steve Dien <contact@crazytut.com>
Date:   Sat Oct 31 19:21:31 2015 +0700

    mime, linh tinh bao mat

commit 9ee451454e7ad8d79c6af99899c95ebfbe52bb7f
Author: Steve Dien <contact@crazytut.com>
Date:   Sat Oct 31 09:41:55 2015 +0700

    HTTP/2 nginx added

Bạn để ý sẽ thấy dòng commit chưa một dãy số dài loằng ngoằng, đây là mã hash, bên dưới có kèm ngày tháng commit và cái dòng chữ ghi chú mà bạn viết lúc commit, giờ bạn muốn khôi phục tập tin  về phiển bản nào chỉ cần gõ lênh sau, thay commit_hash bằng dãy số hash của tập tin:

git checkout commit_hash -- tên_file_muốn_khôi_phục

Ngoài việc backup thì git còn giúp bạn kiểm soát phiên bản của tập tin, bạn có thể xem các thay đổi của tập tin theo thời gian, rất hay.

Mình sẽ cập nhật bài viết này thường xuyên về, bổ sung các kiến thức nâng cao hơn để bạn làm việc tốt hơn với git, bạn bookmark hoặc lưu lại để xem nhé!

Nếu bạn thấy có ích, hãy subcribe blog của tôi để nhận thêm nhiều tút hay qua email nữa nhé!