Công Cụ lftp: Quản Lý Truyền Tải Tệp Tin Hiệu Quả Trên Linux

Giới Thiệu Tổng Quan về lftp

lftp là một tiện ích dòng lệnh mạnh mẽ trên hệ điều hành Linux, được thiết kế để truyền tải tệp tin giữa máy cục bộ và máy chủ từ xa. Công cụ này nổi bật với khả năng hỗ trợ nhiều giao thức khác nhau, bao gồm FTP, SFTP, HTTP, HTTPS, và FISH, mang lại sự linh hoạt cao trong các tác vụ quản lý dữ liệu.

Điểm mạnh của lftp nằm ở tập hợp các tính năng tiên tiến, giúp nâng cao trải nghiệm người dùng và hiệu quả công việc:

  • Tự động hoàn thành lệnh (Tab Completion)Lịch sử lệnh: Giúp người dùng thao tác nhanh chóng và dễ dàng.
  • Hỗ trợ đa nhiệm và chạy nền: Cho phép thực hiện nhiều tác vụ truyền tải cùng lúc hoặc chạy ngầm.
  • Tính năng gương hóa (Mirroring): Đồng bộ hóa toàn bộ thư mục một cách hiệu quả.
  • Tiếp tục tải về/tải lên (Resume): Khôi phục các quá trình truyền tải bị gián đoạn.
  • Hàng đợi (Queue)Dấu trang (Bookmarks): Quản lý và lưu trữ các kết nối hoặc tác vụ thường dùng.
  • Tải xuống đa luồng: Tăng tốc độ truyền tải bằng cách chia nhỏ tệp tin.

Cài Đặt lftp

Để cài đặt lftp trên hầu hết các bản phân phối Linux, bạn có thể sử dụng trình quản lý gói hệ thống. Ví dụ, trên các hệ thống dựa trên Debian/Ubuntu, lệnh sau sẽ thực hiện cài đặt:

sudo apt update
sudo apt install lftp

Đối với các bản phân phối khác như Fedora, CentOS hoặc RHEL, bạn có thể sử dụng dnf hoặc yum tương ứng.

Sử Dụng lftp

Thiết Lập Kết Nối

Có hai phương pháp chính để thiết lập kết nối với máy chủ từ xa bằng lftp:

1. Kết nối trực tiếp khi khởi động

Bạn có thể chỉ định địa chỉ máy chủ, giao thức và tên người dùng ngay trong lệnh khởi động lftp. Hệ thống sẽ yêu cầu mật khẩu sau đó.

lftp sftp://ten_nguoi_dung@dia_chi_may_chu

Trong ví dụ trên, sftp là giao thức, bạn có thể thay đổi thành ftp hoặc các giao thức khác tùy thuộc vào dịch vụ được hỗ trợ bởi máy chủ.

2. Khởi động lftp và mở kết nối sau

Nếu bạn muốn cấu hình thêm trước khi kết nối hoặc mở nhiều phiên khác nhau, bạn có thể khởi động lftp trước, sau đó sử dụng lệnh open.

lftp
# Sau khi vào giao diện lftp, gõ:
lftp :~> open ftp://ten_nguoi_dung@dia_chi_may_chu

Các Lệnh Thao Tác Cơ Bản

Sau khi kết nối thành công, bạn có thể sử dụng một loạt các lệnh để quản lý tệp tin và thư mục. Dưới đây là bảng tổng hợp một số lệnh thường dùng:

Chức năng Lệnh Mô tả
Tải xuống tệp tin đơn lẻ get -c ten_file.txt Tải về một tệp tin, -c cho phép tiếp tục tải từ điểm dừng.
Tải xuống nhiều tệp tin mget *.log Tải về tất cả các tệp có đuôi .log trong thư mục hiện tại trên máy chủ.
Tải xuống thư mục mirror ten_thu_muc Tải về toàn bộ thư mục từ máy chủ xuống máy cục bộ.
Tải lên tệp tin đơn lẻ put du_lieu.zip Tải một tệp tin từ máy cục bộ lên thư mục hiện tại trên máy chủ.
Tải lên nhiều tệp tin mput tap_tin1.doc tap_tin2.doc Tải nhiều tệp tin lên máy chủ.
Tải lên thư mục (mirroring ngược) mirror -R thu_muc_nguon Đồng bộ hóa một thư mục từ máy cục bộ lên máy chủ.
Xem danh sách tệp trên máy chủ ls Liệt kê nội dung thư mục hiện tại trên máy chủ.
Xem danh sách tệp cục bộ !ls Chạy lệnh ls của shell cục bộ. Tiền tố ! dùng để thực thi các lệnh shell cục bộ.
Chuyển đổi thư mục trên máy chủ cd duong_dan/ Thay đổi thư mục làm việc hiện tại trên máy chủ.
Chuyển đổi thư mục cục bộ lcd duong_dan/ Thay đổi thư mục làm việc hiện tại trên máy cục bộ.
Xóa tệp tin trên máy chủ rm ten_file.bak Xóa một tệp tin cụ thể trên máy chủ.
Xóa nhiều tệp tin trên máy chủ mrm *.tmp Xóa các tệp tin phù hợp với mẫu trên máy chủ.
Tạo thư mục trên máy chủ mkdir ten_thu_muc_moi Tạo một thư mục mới trên máy chủ.
Xóa thư mục trên máy chủ rmdir ten_thu_muc Xóa một thư mục trống trên máy chủ.
Hiển thị đường dẫn trên máy chủ pwd In ra đường dẫn thư mục hiện tại trên máy chủ.
Hiển thị đường dẫn cục bộ lpwd In ra đường dẫn thư mục hiện tại trên máy cục bộ.
Tính kích thước thư mục trên máy chủ du -h ten_thu_muc Hiển thị kích thước thư mục trên máy chủ.
Thoát khỏi lftp exit hoặc bye Đóng phiên lftp.

Tự Động Hóa Đồng Bộ Hóa với Script

lftp rất hữu ích cho các tác vụ đồng bộ hóa tự động thông qua script shell. Dưới đây là một ví dụ về script bash thực hiện đồng bộ hóa (mirror) một thư mục từ máy chủ về máy cục bộ:

#!/bin/bash

# Ghi log thời gian bắt đầu script
echo "Script đồng bộ hóa bắt đầu vào: $(date "+%Y-%m-%d %H:%M:%S")"

# Định nghĩa các biến cấu hình kết nối
SERVER_HOST="dia_chi_may_chu_ftp.com"  # Thay bằng địa chỉ IP hoặc hostname
USER_ID="ten_dang_nhap_cua_ban"       # Thay bằng tên người dùng FTP/SFTP
PASSWORD_KEY="mat_khau_cua_ban"       # Thay bằng mật khẩu FTP/SFTP
LOCAL_TARGET_DIR="/home/user/du_lieu_local" # Đường dẫn thư mục cục bộ để lưu trữ
REMOTE_SOURCE_DIR="/var/www/html/backup"  # Đường dẫn thư mục trên máy chủ cần đồng bộ

# Thực thi lftp với các lệnh được truyền qua "here document"
lftp -c "open ftp://$USER_ID:$PASSWORD_KEY@$SERVER_HOST; mirror $REMOTE_SOURCE_DIR $LOCAL_TARGET_DIR; bye"

# Ghi log thời gian kết thúc script
echo "Script đồng bộ hóa kết thúc vào: $(date "+%Y-%m-%d %H:%M:%S")"

Script trên sử dụng lệnh lftp -c "..." để thực thi chuỗi lệnh mà không cần vào giao diện tương tác của lftp. Điều này rất tiện lợi cho việc lên lịch chạy tự động bằng cron job.

Thẻ: lftp linux ftp sftp file transfer

Đăng vào ngày 29 tháng 7 lúc 22:54