shell curl批量下载
时间: 2023-10-10 08:14:35 浏览: 38
要使用curl批量下载,请使用以下命令:
```
curl -O http://example.com/file1.jpg http://example.com/file2.jpg http://example.com/file3.jpg
```
这将同时下载三个文件,并将它们保存到当前目录下。
如果您想指定下载文件的目录,请使用以下命令:
```
curl -O http://example.com/file1.jpg -O http://example.com/file2.jpg -O http://example.com/file3.jpg -o /path/to/directory/
```
这将同时下载三个文件,并将它们保存到指定目录下。注意,最后一个参数是目录的路径,而不是文件名。`-O`选项表示将文件保存为原始文件名。如果您想为每个文件指定不同的文件名,请使用`-o`选项,后面跟随要保存的文件名。
相关问题
下载文件 shell脚本
以下是一个Shell脚本实现批量下载资源并保留原始路径的例子:
```shell
#!/bin/bash
# 批量下载资源并保留原始路径
# 用法:./download.sh url_file
while read url; do
# 获取文件名
filename=$(basename "$url")
# 获取目录名
dirname=$(dirname "$url")
# 创建目录
mkdir -p "$dirname"
# 下载文件
curl -L -o "$dirname/$filename" "$url"
done < "$1"
```
使用方法:将需要下载的文件URL放入一个文件中,每行一个URL,然后执行脚本并传入该文件的路径作为参数,例如:
```shell
./download.sh urls.txt
```
其中,urls.txt是包含需要下载的文件URL的文件。
使用shell 编写tomcat集群批量更新的脚本
以下是一个简单的 Shell 脚本,用于在 Tomcat 集群中批量更新:
```sh
#!/bin/bash
# 定义 Tomcat 集群的主机名和端口号
hosts=("host1" "host2" "host3")
ports=("8080" "8080" "8080")
# 定义更新文件的路径和名称
update_file="/path/to/update.war"
# 循环遍历每个主机和端口号,执行更新操作
for ((i=0; i<${#hosts[@]}; i++)); do
host=${hosts[i]}
port=${ports[i]}
# 构造 URL,用于更新 WAR 文件
url="http://${host}:${port}/manager/text/deploy?path=/&update=true"
# 使用 curl 命令上传 WAR 文件
curl --upload-file ${update_file} "${url}"
echo "更新 ${host}:${port} 完成"
done
```
使用方法:
1. 将上述代码保存为一个 shell 脚本文件,例如 `update_tomcat.sh`。
2. 将需要更新的 WAR 文件放到 `update_file` 变量所指定的路径下。
3. 修改 `hosts` 和 `ports` 变量,分别指定 Tomcat 集群中每个主机的名称和端口号。
4. 在终端中运行 `update_tomcat.sh`,即可开始批量更新操作。
注意事项:
1. 需要在每个 Tomcat 实例中启用 Manager 应用程序,以便使用 curl 命令上传 WAR 文件。具体方法请参考 Tomcat 官方文档。
2. 需要确保每个 Tomcat 实例的 Manager 应用程序的用户名和密码相同,并且具有上传 WAR 文件的权限。您可以在脚本中使用 curl 的 `-u` 参数指定用户名和密码。