写一个linux脚本,用sftp远程连接10.200.39.134 密码为hujvff,再mput上传文件,统计并echo本地总共有多少文件,上传并echo了多少文件,如果上传文件为0则echo返回“上传文件失败”
时间: 2024-09-27 18:12:12 浏览: 29
在Linux环境下,你可以创建一个bash脚本来完成这个任务。这里是一个简单的示例脚本:
```bash
#!/bin/bash
# 定义变量
IP="10.200.39.134"
PASSWORD="hujvff"
REMOTE_DIR="/path/to/remote/directory" # 请替换为实际的远程目录路径
LOCAL_DIR="/path/to/local/directory" # 请替换为实际的本地目录路径
FILE_COUNT=0 # 初始化本地文件计数器
UPLOADED_FILES=0 # 初始化已上传文件计数器
# 使用sftp登录并上传文件
if sftp -o PasswordAuthentication=yes $PASSWORD user@$IP << EOF
put $LOCAL_DIR/*
EOF
then
echo "已经成功上传了 $UPLOADED_FILES 个文件到 $REMOTE_DIR"
else
echo "上传文件失败"
fi
# 统计本地文件总数
for file in "$LOCAL_DIR"/*; do
if [ -f "$file" ]; then
(( FILE_COUNT++ ))
fi
done
echo "本地总共有 $FILE_COUNT 个文件"
# 检查是否所有文件都已上传
if [ $FILE_COUNT -eq $UPLOADED_FILES ]; then
echo "所有文件都已上传"
else
echo "未上传的文件有: $((FILE_COUNT - UPLOADED_FILES))"
fi
```
保存此脚本为`upload_files.sh`,然后通过`chmod +x upload_files.sh`使其可执行,并运行`./upload_files.sh`。
阅读全文