Linux vsftpd命令行操作效率提升指南
掌握vsftpd客戶端的常用命令,可大幅簡化日常文件傳輸流程:
ftp
命令連接FTP服務器,格式為ftp [服務器IP/域名]
,例如ftp 192.168.1.100
。連接后需輸入用戶名和密碼認證。put
命令將本地文件上傳至服務器,格式為put [本地文件路徑] [遠程文件名]
,例如put /home/user/test.txt test.txt
。get
命令從服務器下載文件到本地,格式為get [遠程文件路徑] [本地文件名]
,例如get /var/ftp/pub/file.zip file.zip
。mput *.txt
(上傳當前目錄所有.txt文件)、mget *.jpg
(下載服務器目錄所有.jpg文件)。mkdir
創建遠程目錄(如mkdir backups
)、rmdir
刪除空目錄(如rmdir old_backups
)、delete
刪除文件(如delete temp.log
)、rename
重命名文件(如rename old.txt new.txt
)。ls
查看遠程目錄內容、pwd
查看遠程當前目錄、lcd
切換本地目錄(如lcd /home/user/downloads
)、bye
或quit
退出FTP會話。通過調整vsftpd配置文件(/etc/vsftpd.conf
),可從根源優化服務器性能:
pasv_enable=YES
(啟用被動模式)、pasv_min_port=10000
(設置被動模式最小端口)、pasv_max_port=10100
(設置被動模式最大端口)。binary_transfer_mode=YES
(默認啟用,可省略)。max_clients=100
(服務器最大并發連接數)、max_per_ip=5
(單個IP最大并發連接數)。local_max_rate=102400
(本地用戶最大傳輸速率,單位:字節/秒,此處為100KB/s)、anon_max_rate=51200
(匿名用戶最大傳輸速率)。anonymous_enable=NO
)、禁用ASCII模式(ascii_upload_enable=NO
、ascii_download_enable=NO
),減少服務器資源消耗。從操作系統層面調整參數,可進一步提升vsftpd的整體性能:
/etc/sysctl.conf
文件,添加或修改以下參數,提升網絡傳輸效率:net.core.rmem_max = 16777216 # 接收緩沖區最大值
net.core.wmem_max = 16777216 # 發送緩沖區最大值
net.ipv4.tcp_rmem = 4096 87380 16777216 # TCP接收緩沖區動態調整范圍
net.ipv4.tcp_wmem = 4096 65536 16777216 # TCP發送緩沖區動態調整范圍
net.ipv4.tcp_congestion_control = cubic # 使用CUBIC擁塞控制算法(適合高速網絡)
net.ipv4.tcp_low_latency = 1 # 優先降低延遲
執行sudo sysctl -p
使配置生效。/etc/security/limits.conf
文件,添加以下內容:* soft nofile 65535 # 普通用戶軟限制
* hard nofile 65535 # 普通用戶硬限制
root soft nofile 65535 # root用戶軟限制
root hard nofile 65535 # root用戶硬限制
重新登錄用戶使配置生效。/var/ftp/pub
)放在SSD上,提升文件讀寫速度;若傳輸大文件,可開啟磁盤緩存(disk_cache=YES
,vsftpd配置文件中)。lftp
或ncftp
比原生ftp
命令更強大,支持斷點續傳、并行傳輸、腳本化操作。例如,lftp
的mirror
命令可快速同步遠程目錄到本地:lftp -u username,password 192.168.1.100
mirror --parallel=5 /remote/dir /local/dir # 并行下載5個文件
tail -f /var/log/vsftpd.log
實時查看傳輸日志,使用awk
、grep
等工具分析傳輸效率(如找出傳輸慢的文件),及時優化配置。#!/bin/bash
ftp -n 192.168.1.100 <<EOF
quote USER ftpuser
quote PASS ftppassword
binary
lcd /backups
cd /remote/backups
put db_backup_$(date +%F).sql
bye
EOF