Linux FetchLinux如何简化远程操作
小樊
42
2025-11-20 23:14:45
FetchLinux简化远程操作的实用方案
一 核心思路
- 把常用的远程主机、端口、身份与目录抽象为别名与配置文件,配合SSH密钥免密与命令行补全,将冗长的 fetchlinux 命令压缩为极短指令。
- 用文件清单与批处理选项一次性拉取/上传多路径,减少重复输入与手工失误。
- 借助代理、非默认端口、详细日志等选项,适配复杂网络与审计需求。
二 快速配置与连接简化
- 安装与版本校验(示例):
- Debian/Ubuntu:sudo dpkg -i fetchlinux_version.deb
- RHEL/CentOS:sudo yum install fetchlinux_version.rpm
- Fedora:sudo dnf install fetchlinux_version.rpm
- 校验:fetchlinux --version
- SSH密钥免密(推荐):
- 生成密钥:ssh-keygen -t rsa -b 4096
- 分发公钥:ssh-copy-id user@remote_host
- 使用 SSH 配置文件简化主机信息(~/.ssh/config):
- Host myserver
- HostName 203.0.113.10
- User alice
- Port 2222
- IdentityFile ~/.ssh/id_rsa
- 之后可直接用别名连接或配合 fetchlinux:
- 连接测试:fetchlinux myserver
- 下载文件:fetchlinux myserver:/var/log/syslog .
- 指定端口示例:fetchlinux -p 2222 user@remote_host:/path/file /local
三 批量与自动化
- 文件清单批量拉取(示例):
- 创建清单 filelist.txt(每行一个绝对路径):
- /var/log/nginx
- /home/alice/projects
- 递归拉取并保留属性、显示进度:
- fetchlinux -r -f filelist.txt -o /backup -p -v
- 通配符一次拉取多文件:
- fetchlinux user@remote_host:/var/log/*.log .
- 定时备份(crontab 示例,每天 02:00 执行):
- 0 2 * * * fetchlinux -r -f /opt/backup/filelist.txt -o /backup/$(date +%Y%m%d) -p -v
- 说明:上述清单、递归、保留属性、压缩与详细日志等能力,适用于以清单驱动的批量传输与备份场景。
四 常用命令模板与易错点
- 常用模板一览:
- 下载单文件:fetchlinux user@remote:/path/file /local
- 下载目录:fetchlinux user@remote:/path/dir /local -r
- 上传单文件:fetchlinux -u user@remote /local/file /remote/path
- 上传目录:fetchlinux -u user@remote /local/dir /remote/path -r
- 列远程目录:fetchlinux user@remote ls /remote/path
- 删除远程文件:fetchlinux user@remote rm /remote/file
- 改远程权限:fetchlinux user@remote chmod 755 /remote/file
- 指定私钥与端口:fetchlinux -i ~/.ssh/id_rsa -p 2222 user@remote:/path /local
- 通过代理:fetchlinux -x http://proxy:8080 user@remote:/path /local
- 易错点提醒:
- 路径必须是绝对路径;目录下载务必加**-r**;上传用**-u**且本地/远程顺序与下载相反。
- 使用通配符时,注意本地 shell 也会展开,必要时用引号包裹远程路径(如 “user@host:/path/*.log”)。
- 删除/改权限前先列目录确认目标,避免误伤生产数据。