从日期派生 URL
Deriving URLs from date
我想使用 CRON 作业自动从第三方服务器下载图像,然后将图像上传到我的网站。
我有 2 个问题:
首先,第三方站点使用以下逻辑每天更改图像名称:
http://thirdpartysite.com/ImageFinder.aspx?ReportID=FILENAME
2014 年 10 月 6 日之后的每一天,FILENAME 为 26601 +14(因此 10 月 7 日为 26615,10 月 8 日为 26629 等)。
我如何将其构建到一个简单的 Linux bash 脚本中以与 wget 一起使用?
其次,我如何使用相同的脚本通过 FTP(或类似的)将其上传到我的网站。
注意:我有权在我的网站上托管该文件,并已链接到原始网站/图片的来源。
date
命令有一种非常好的格式:%s
,它打印自 "epoch" 以来的秒数,这是固定日期 1970 年 1 月 1 日,00:00世界标准时间。我称之为 "timestamp"。与此结合,您可以使用 -d date-string
,以便将给定日期打印为秒数。现在,您可以使用今天的时间戳,从中减去“2014 年 10 月 6 日”的时间戳,得到两次之间的秒数。现在你可以将它除以 (60 * 60 * 24) 得到它的天数,并进一步计算得到所需的数字,并从中得到一个文件名。
-d
选项采用的日期字符串格式是灵活的,但截至目前我不确定它是否采用“2014 年 10 月 6 日”。尝试一些排列,或者更好,查看 "info" 页面。
按照@Abhay的建议,先获取10月6日的时间戳,存入变量$d0
:
d0=$(date +%s -d 20141006)
然后存储目标日期的时间戳,比如 10 月 8 日并将其存储在 $d1
:
d1=$(date +%s -d 20141008)
然后您可以计算差值并在 $((...))
中应用所需的算术运算,如下所示:
echo $((26601 + 14 * (d1 - d0) / 60 / 60 / 24))
# outputs: 26629
我想使用 CRON 作业自动从第三方服务器下载图像,然后将图像上传到我的网站。
我有 2 个问题:
首先,第三方站点使用以下逻辑每天更改图像名称:
http://thirdpartysite.com/ImageFinder.aspx?ReportID=FILENAME 2014 年 10 月 6 日之后的每一天,FILENAME 为 26601 +14(因此 10 月 7 日为 26615,10 月 8 日为 26629 等)。
我如何将其构建到一个简单的 Linux bash 脚本中以与 wget 一起使用?
其次,我如何使用相同的脚本通过 FTP(或类似的)将其上传到我的网站。
注意:我有权在我的网站上托管该文件,并已链接到原始网站/图片的来源。
date
命令有一种非常好的格式:%s
,它打印自 "epoch" 以来的秒数,这是固定日期 1970 年 1 月 1 日,00:00世界标准时间。我称之为 "timestamp"。与此结合,您可以使用 -d date-string
,以便将给定日期打印为秒数。现在,您可以使用今天的时间戳,从中减去“2014 年 10 月 6 日”的时间戳,得到两次之间的秒数。现在你可以将它除以 (60 * 60 * 24) 得到它的天数,并进一步计算得到所需的数字,并从中得到一个文件名。
-d
选项采用的日期字符串格式是灵活的,但截至目前我不确定它是否采用“2014 年 10 月 6 日”。尝试一些排列,或者更好,查看 "info" 页面。
按照@Abhay的建议,先获取10月6日的时间戳,存入变量$d0
:
d0=$(date +%s -d 20141006)
然后存储目标日期的时间戳,比如 10 月 8 日并将其存储在 $d1
:
d1=$(date +%s -d 20141008)
然后您可以计算差值并在 $((...))
中应用所需的算术运算,如下所示:
echo $((26601 + 14 * (d1 - d0) / 60 / 60 / 24))
# outputs: 26629