首页 > 解决方案 > 使用 wget 下载最新文件

问题描述

我试图弄清楚如何在我的 Linux 系统上使用 wget 从服务器下载最新文件。这些文件是某些服务的 zip 存档中的 ssl 证书,即 prometheus.my.domain-09.28.2020、alertmanager.my.domain-09.28.2020、my.domain-07.28.2020 等。它添加到服务器的日期被钉在文件名上。目前,我有python脚本可以帮助我处理任务,但是由于拐杖的存在,我想切换到bash。我实现了 stdout 和 sed 并保存到没有 html 标签的 txt 文件。

wget -qO- https://myserver@my.domain/ssl/ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

该命令的结果可以在文件中看到:

prom.my.domain-2020-09-18.zip                   18-Sep-2020 18:14                7217
prom.my.domain-2020-09-21.zip                   21-Sep-2020 17:20                7217
grafana.my.domain-2020-09-18.zip                18-Sep-2020 18:14                7222
grafana.my.domain-2020-09-21.zip                21-Sep-2020 17:20                7222
my.domain-2020-09-18.zip                       18-Sep-2020 18:14                7269
my.domain-2020-09-21.zip                       21-Sep-2020 17:20                7269

现在如何下载最新的 grafana.zip?

标签: linuxbashwebwget

解决方案


这应该可以解决问题:

wget https://myserver@my.domain/ssl/$(grep -oE "^grafana[^[:space:]]+" downloaded_file.txt | sort | tail -n 1)

推荐阅读