Linux uuto命令是UUCP(Unix-to-Unix Copy)工具集的一部分,用于在Unix系统之间传输文件和目录。
uuto [选项] 文件... 系统!用户
| 选项 | 说明 |
|---|---|
-m |
传输完成后发送邮件通知 |
-p |
传输前在本地复制文件到spool目录 |
-d |
创建必要的目录结构 |
-r |
不实际传输,只报告将要做的事情 |
-g 等级 |
设置传输优先级(A-Z,A最高) |
-s 文件 |
传输状态报告文件 |
-n 用户 |
通知用户(与-m选项一起使用) |
--help |
显示帮助信息 |
# 将文件传输到远程系统的用户目录
uuto document.txt remotehost!username
# 传输多个文件
uuto file1.txt file2.jpg file3.pdf remotehost!username
# 传输整个目录
uuto -r mydirectory/ remotehost!username
# 传输完成后发送邮件通知接收方
uuto -m important.pdf remotehost!alice
# 同时通知多个用户
uuto -m -n alice -n bob report.txt remotehost!charlie
# 设置高优先级传输
uuto -g A urgent_file.txt remotehost!user
# 设置低优先级传输
uuto -g Z large_archive.tar.gz remotehost!user
# 传输前在本地spool目录复制文件
uuto -p backup.tar remotehost!sysadmin
# 创建必要的目录结构
uuto -d project/ remotehost!developer
# 只显示将要传输的内容,不实际传输
uuto -r data/ remotehost!user
# 输出传输计划而不执行
uuto -r -n user largefile.iso remotehost!recipient
# 定期备份传输脚本
#!/bin/bash
# 每日备份传输
BACKUP_FILE="/backups/daily-$(date +%Y%m%d).tar.gz"
DEST="backupserver!backupuser"
if [ -f "$BACKUP_FILE" ]; then
uuto -m -g B "$BACKUP_FILE" "$DEST"
echo "备份文件已发送: $BACKUP_FILE"
else
echo "错误: 备份文件不存在"
fi
# 从远程系统接收文件(使用uupick)
# 在接收方系统上运行
uupick
# 检查UUCP连接状态
uustat -a
# 查看传输队列
uustat -q
# 取消待处理的传输
uustat -k 作业号
# 查看系统配置
uuname
| 配置文件 | 位置 | 说明 |
|---|---|---|
sys |
/etc/uucp/sys | 远程系统配置 |
dial |
/etc/uucp/dial | 拨号配置 |
port |
/etc/uucp/port | 端口配置 |
dialcode |
/etc/uucp/dialcode | 拨号代码 |
config |
/etc/uucp/config | 基本配置 |
Permissions |
/etc/uucp/Permissions | 权限控制 |
uuto发送文件后,接收方需要使用uupick命令来接收文件:
# 接收方运行uupick查看和接收文件
uupick
# uupick交互命令:
# RETURN - 移动到下一个文件
# d - 删除当前文件
# m [dir]- 移动文件到指定目录
# a [dir]- 移动所有文件
# p - 打印文件内容
# q - 退出
# 自动接收所有文件到指定目录
uupick -s systemname
# Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install uucp
# CentOS/RHEL系统
sudo yum install uucp
# 验证安装
which uuto
which uucp
which uupick
# 配置远程系统信息
sudo nano /etc/uucp/sys
# 添加以下内容
system remotesystem
time any
phone 555-1234
port serial1
speed 115200
chat login: mylogin ssword: mypassword
# 配置权限
sudo nano /etc/uucp/Permissions
# 添加适当的权限规则
# 启动uucp服务
sudo systemctl start uucp
sudo systemctl enable uucp
| 特性 | UUCP (uuto/uucp) | SCP/SFTP | rsync | FTP |
|---|---|---|---|---|
| 协议 | UUCP协议 | SSH协议 | SSH或rsync协议 | FTP协议 |
| 加密 | 无 | 强加密 | 可选加密 | 无(除非FTPS) |
| 实时性 | 延迟传输 | 实时传输 | 实时传输 | 实时传输 |
| 配置复杂度 | 复杂 | 简单 | 中等 | 中等 |
| 适用场景 | 拨号网络、离线传输 | 安全远程传输 | 高效同步 | 通用文件传输 |
| 现代性 | 传统 | 现代 | 现代 | 传统但仍广泛使用 |
可能原因: UUCP未安装
解决: 安装UUCP软件包
sudo apt-get install uucp
可能原因: 系统未配置或连接问题
解决: 检查系统配置和连接
# 检查系统配置
uuname -l
# 查看传输状态
uustat -a
解决: 检查权限配置
# 检查/etc/uucp/Permissions文件
# 确保用户有适当权限
解决: 检查接收方的spool目录
# 在接收方检查
ls -la /var/spool/uucppublic/receive/
# 运行uupick接收文件
uupick
uucp - UUCP文件复制命令uupick - 接收UUCP传输的文件uustat - 查看UUCP状态和队列uux - 在远程系统执行命令uuname - 列出已知的UUCP系统uucico - UUCP通信守护进程