Nội dung
Trong bài này mình sẽ hướng dẫn các bạn backup DirectAdmin với command line nhanh chóng, đơn giản và dễ hiểu nhất. Nếu bạn không quen thao tác với command line thì có thể tham khảo bài viết Cách backup và restore DirectAdmin qua giao diện.
Mặc định trên giao diện DirectAdmin đã có tích hợp tính năng backup và restore rồi. Tuy nhiên vì một lý do nào đó như máy chủ của bạn mất mạng, giấy phép DirectAdmin của bạn hết hạn hoặc bạn vẫn thích sử dụng lệnh hơn giao diện thì đây chính là bài hướng dẫn cho bạn.
Nhưng trước hết chúng ta phải truy cập vào user root thông qua console hoặc SSH (Trường hợp có thể SSH được). Nếu bạn chưa biết cách SSH vào SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:
Sau khi đã đăng nhập được vào root chúng ta sẽ có 2 trường hợp để backup, đó là backup toàn bộ hoặc backup user lẻ. Mình sẽ hướng dẫn từng trường hợp bên dưới đầy đủ dể hiểu cho các bạn.
Backup DirectAdmin với command line cho toàn bộ user
Để backup toàn bộ user chúng ta sử dụng lệnh sau.
echo "action=backup&append%5Fto%5Fpath=nothing&database%5Fdata%5Faware=yes&email%5Fdata%5Faware=yes&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&type=admin&value=multiple&when=now&where=local&who=all" >> /usr/local/directadmin/data/task.queue
Ở trên VPS của mình hiện tại chỉ có 1 user và admin nên sau khi chạy lệnh trên và chờ khoảng vài phút thì trong thư mục /home/admin/admin_backups
xuất hiện hai tệp tin backup như hình sau.
Trước khi chạy lệnh, chưa có một tệp tin backup nào cả.
Sau khi chạy lệnh backup chúng ta đã có 2 tệp tin backup tương ứng với các user đang có. Trong trường hơp bạn có rất nhiều user hơn thì cần chờ nhiều thời gian hơn và các file sau khi backup sẽ có dần từng file một. Trong trường hợp dung lượng của bạn không đủ để backup đầy đủ tất cả các user thì đến khi đầy hệ thống tự động dừng lại không backup tiếp nữa.
Trường hợp 2: Backup DirectAdmin với command line cho một user duy nhất
Để backup một user chúng ta sử dụng lệnh sau.
echo "action=backup&append%5Fto%5Fpath=nothing&database%5Fdata%5Faware=yes&email%5Fdata%5Faware=yes&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=testuser&type=admin&value=multiple&when=now&where=local" >> /usr/local/directadmin/data/task.queue
Thay thế testuser thành tên user mà bạn muốn restore.
Ở đây mình có một user tên là demo2 mình sẽ sử dụng lệnh sau để tiến hành sao lưu user này.
echo "action=backup&append%5Fto%5Fpath=nothing&database%5Fdata%5Faware=yes&email%5Fdata%5Faware=yes&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=demo2&type=admin&value=multiple&when=now&where=local" >> /usr/local/directadmin/data/task.queue
Sau khi chạy lệnh chúng ta chờ một lát sẽ thấy tệp tin backup đầy đủ của user này tại /home/admin/admin_backup/
:
Trong trường hợp bạn muốn khôi phục user demo2 này bạn sử dụng lệnh sau:
echo "action=restore&ip%5Fchoice=file&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=user%2Eadmin%2Edemo2%2Etar%2Egz&type=admin&value=multiple&when=now&where=local" >> /usr/local/directadmin/data/task.queue
Các bạn nhớ thay demo2 thành user của bạn nhé. Trường hợp file backup của bạn tên khác thì bạn nhớ thay thế các tên giữ %2E(Giá trị hex, tương đương cho dấu chấm). Các bạn cũng có thể sử dụng định dạng demo2%2Etar%2Egz thì nó cũng hoạt động tốt.
Lệnh khôi phục này sẽ sử dụng chính IP ở trong cấu hình của tệp tin sao lưu này. Nếu bản sao lưu này trên chính VPS hoặc Server này tạo ra thì không vấn đề gì, nhưng nếu đây là tệp tin sao lưu đến từ VPS hoặc Server khác thì bạn cần thêm tùy chọn ip_choice=select&ip=1.2.3.4 trong đó 1.2.3.4 bạn chỉnh lại thành IP VPS hoặc Server của bạn.
Vậy là xong các bước backup DirectAdmin với command line cho một user duy nhất.
Tổng kết
Như vậy là bạn đã nắm cách backup DirectAdmin với command line cũng như khôi phục lại một user cũng bằng command line. Hy vọng bài viết này sẽ giúp ích cho các bạn trong nhiều trường hợp.
Bài viết tham khảo: