Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Cách tải đệ quy (recursive) tệp từ máy chủ FTP trong Linux với ncftp

Hướng dẫn chi tiết này sẽ giải thích cách sử dụng ncftp trong Linux để tải xuống đệ quy (recursive) toàn bộ tệp và thư mục từ một máy chủ FTP.

Hôm qua tôi đang di chuyển hosting từ máy chủ cũ sang máy chủ mới. Nhà cung cấp cũ chỉ cho truy cập FTP, trong khi máy chủ mới hỗ trợ SSH và môi trường Linux đầy đủ. Tôi cần di chuyển toàn bộ dữ liệu. Dưới đây là cách tôi thực hiện.

Lệnh sử dụng

# ncftpget -R -v -u "remoteuser" -p "password" ftp://remoteserver.com /home/localdir /remotedir

Giải thích các tham số

  • -R: Tải đệ quy (bao gồm thư mục con và tệp bên trong).
  • -v: Chế độ verbose – hiển thị chi tiết quá trình truyền tải.
  • -u "remoteuser": Tên người dùng FTP.
  • -p "password": Mật khẩu FTP. Lưu ý: Với mật khẩu chứa ký tự đặc biệt, hãy đặt trong ngoặc đơn hoặc dùng file .netrc để an toàn hơn.
  • ftp://remoteserver.com: Địa chỉ IP hoặc tên miền máy chủ FTP từ xa.
  • /home/localdir: Thư mục cục bộ (trên máy hiện tại) nơi lưu tệp tải về.
  • /remotedir: Thư mục trên máy chủ FTP muốn tải xuống.

Cảnh báo: Hãy cực kỳ cẩn thận không nhầm lẫn giữa thư mục cục bộ (local) và thư mục từ xa (remote). Thứ tự tham số là: ncftpget [options] host local_dir remote_dir.

Về ncftp

NcFTP Client là một khách hàng FTP dòng lệnh mạnh mẽ, đi kèm sẵn trong hầu hết các bản phân phối Linux. Nó cung cấp các lệnh hữu ích như ncftpget (tải xuống), ncftpput (tải lên), ncftp (chế độ tương tác), và ncftpls (liệt kê thư mục từ xa).

Phương án thay thế đồ họa (GUI)

Nếu bạn thích giao diện đồ họa để backup qua FTP, hãy tham khảo hướng dẫn tạo và khôi phục backup trong Ubuntu (áp dụng cho mọi môi trường Linux chạy GNOME). Các công cụ như FileZilla cũng hỗ trợ tải đệ quy qua giao diện kéo-thả trực quan.

Mẹo bảo mật

Tránh truyền mật khẩu trực tiếp trong lệnh (xuất hiện trong history và tiến trình). Hãy dùng file ~/.netrc:

machine remoteserver.com
login remoteuser
password yourpassword

Sau đó chạy: ncftpget -R -v ftp://remoteserver.com /home/localdir /remotedir