安装FetchLinux
在使用FetchLinux进行批量文件传输前,需先完成安装。可通过访问其官方网站或GitHub页面下载对应Linux发行版的安装包(如.deb、.rpm格式),或通过包管理器安装(例如Debian/Ubuntu系统使用sudo dpkg -i fetchlinux_version.deb,Red Hat/CentOS系统使用sudo yum install fetchlinux_version.rpm)。安装完成后,通过fetchlinux --version验证是否安装成功。
准备工作:创建文件列表
批量传输的核心是明确需要传输的文件或目录。创建一个文本文件(如file_list.txt),每行填写一个远程服务器上的绝对路径(例如/home/user/documents/report.pdf、/var/log/syslog)。若需匹配多个文件,可使用通配符(如/home/user/*.jpg表示该目录下所有JPG图片)。
配置FetchLinux(可选但推荐)
为简化命令并复用常用设置,可配置FetchLinux的配置文件。配置文件通常位于/etc/fetchlinux/fetchlinux.conf(全局配置)或用户主目录下的.fetchlinuxrc(用户级配置)。需配置的信息包括:
remote_host,如192.168.1.100或example.com);port,默认SSH为22);user);ssh_key = /home/user/.ssh/id_rsa)。执行批量传输命令
使用fetchlinux命令结合文件列表和配置文件进行批量传输,常见场景如下:
-f指定文件列表,-c指定配置文件(若未配置可不使用),例如fetchlinux -f file_list.txt -c /etc/fetchlinux/fetchlinux.conf。该命令会读取file_list.txt中的路径,从远程服务器下载所有文件到本地当前目录。-r(或--recursive)选项,例如fetchlinux -r -f file_list.txt -o /local/backup。-o用于指定本地保存路径(如/local/backup),避免文件混杂在当前目录。documents/file.txt而非/home/user/documents/file.txt),需通过-R(或--remote-path)指定远程根目录,例如fetchlinux -r -f file_list.txt -R /home/user -o /local/backup。此时,documents/file.txt会被下载到/local/backup/documents/file.txt。高级选项(按需使用)
-i指定本地SSH私钥路径,例如fetchlinux -r -f file_list.txt -i /home/user/.ssh/id_rsa -o /local/backup。-p(或--preserve)选项保留远程文件的修改时间、权限等属性,例如fetchlinux -r -f file_list.txt -p -o /local/backup。-z(或--compress)选项启用gzip压缩,减少传输时间和带宽占用,例如fetchlinux -r -f file_list.txt -z -o /local/backup。-v(或--verbose)选项显示详细传输日志,便于排查问题,例如fetchlinux -v -r -f file_list.txt -o /local/backup。验证传输结果
传输完成后,需检查本地目标目录(如/local/backup)中的文件是否完整:
ls -l /local/backup | wc -l统计本地文件数量,与file_list.txt中的条目数对比;ls -lh查看本地文件大小,与远程服务器上的文件大小是否一致(可通过ssh user@remote_host ls -lh /remote/path获取远程文件大小);