温馨提示×

如何使用FetchLinux进行批量文件传输

小樊
59
2025-09-19 02:44:31
栏目: 智能运维

安装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(用户级配置)。需配置的信息包括:

  • 传输协议(如SSH、FTP,默认使用SSH);
  • 远程服务器地址(remote_host,如192.168.1.100example.com);
  • 远程服务器端口(port,默认SSH为22);
  • 远程服务器用户名(user);
  • 认证方式(密码或SSH私钥路径,如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

高级选项(按需使用)

  • SSH密钥认证:若远程服务器禁用密码登录,需通过-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获取远程文件大小);
  • 测试文件内容:打开关键文件(如文档、图片)确认内容无损坏或遗漏。

0