Một tập lệnh bash sftp đơn giản

Tác giả: 01/03/2024

Trong tập lệnh này, chúng ta tạo một tệp lệnh tạm thời bash sftp sftp_commands.txt , trong đó  chỉ định các lệnh cho sftp : đi tới thư mục cục bộ, đi đến thư mục từ xa, tải xuống tất cả các tệp và kết thúc phiên. Sau đó, chạy sftp  và chuyển cho nó các biến môi trường để kết nối với máy chủ SFTP bằng khóa riêng SSH.

Đừng quên thay thế các giá trị của các biến HOST , PORT , USER , REMOTE_DIR , LOCAL_DIR và PRIVATE_KEY

bằng dữ liệu của bạn trước khi chạy tập lệnh.

#!/bin/bash
# Thay thế giá trị của các biến bên dưới bằng dữ liệu của bạn
HOST="tên máy chủ" # Địa chỉ máy chủ SFTP
PORT="port" # Cổng máy chủ SFTP
USER="tên người dùng" # tên người dùng SFTP
REMOTE_DIR="/path/to/remote/directory" # Thư mục từ xa để tải tập tin xuống
LOCAL_DIR="/path/to/local/directory" # Thư mục cục bộ để lưu tệp vào
PRIVATE_KEY="/path/to/private/key" # Đường dẫn đến khóa riêng SSH
# Tạo tập tin batch cho sftp
echo "lcd $LOCAL_DIR" > sftp_commands.txt
echo "cd $REMOTE_DIR" >> sftp_commands.txt
echo "get *" >> sftp_commands.txt
echo "tạm biệt" >> sftp_commands.txt
# Khởi chạy sftp với một tập tin batch và truyền các biến môi trường 
sftp -P $PORT -i $PRIVATE_KEY $USER@$HOST < sftp_commands.txt
# Xóa tệp
rm sftp_commands.txt

Để tự động thực thi, bạn có thể thêm tác vụ vào cron.

Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com