写一个shell脚本,判断当本地文件夹不为空时,批量上传到linux服务器,上传完成后清空文件夹
时间: 2024-06-10 14:07:02 浏览: 139
您好!感谢您的提问。关于您的问题,可以使用以下的shell脚本进行实现:
``` shell
#!/bin/bash
# 定义本地待上传文件夹和远程服务器的目标文件夹
local_dir="本地待上传文件夹路径"
remote_dir="远程服务器目标文件夹路径"
# 判断本地文件夹是否为空,若不为空,则执行上传操作
if [ "$(ls -A $local_dir)" ]; then
echo "开始上传本地文件到远程服务器..."
scp -r $local_dir/* 远程服务器用户名@远程服务器IP:$remote_dir
echo "本地文件上传完成!"
# 清空本地文件夹
echo "清空本地文件夹中,请耐心等待..."
rm -rf $local_dir/*
mkdir $local_dir
echo "清空本地文件夹完成!"
else
echo "本地文件夹为空,无需上传!"
fi
exit 0
```
说明:
- 将本地待上传文件夹路径和远程服务器的目标文件夹路径分别赋值给`local_dir`和`remote_dir`变量
- 使用`if [ "$(ls -A $local_dir)" ]; then`语句判断本地文件夹是否为空
- 若本地文件夹不为空,则使用`scp`命令批量上传所有文件到远程服务器,并在上传完成后清空本地文件夹
- 若本地文件夹为空,则直接输出提示信息,无需上传或清空操作
希望这个脚本能够帮到您!
阅读全文