首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只对最新文件使用wget和wput

只对最新文件使用wget和wput
EN

Stack Overflow用户
提问于 2019-10-16 08:54:41
回答 1查看 329关注 0票数 0

作为背景,我需要在服务器之间传输文件,为此,我尝试编写一个bash脚本,该脚本只使用wget检索最新文件并将其上传。

问题是,我使用的是带有-N标志的wget,在下载最新文件的同时,这也意味着当我使用wput时,我会上传所有的文件,而不仅仅是最新的文件。更棘手的是,我必须上传到一个特定的目录,一旦上传,它们就会被移到另一个目录,所以我不能使用我在过去上传的内容作为向导。

我想要的是只上传已经下载的最新文件,如果没有下载,脚本就退出。

对于我如何实现这一点的任何帮助都将不胜感激,我的当前代码如下:

代码语言:javascript
复制
#!/bin/bash

# Redirect stdout ( > ) into a named pipe ( >() ) running "tee"
exec > >(tee -i update_logfile.txt)
exec 2>&1

today="$(date +'%d%m%Y')"

printf "Record load started: %s\n" "$today"

echo "get records" 
wget -N ftp://[user1]:[pass1]@[ftp-server-1]/*.* -P /path/to/temp/

echo "put records" 
wput --basename=/path/to/temp/ -u  /path/to/temp/*.*  ftp://[user2]:[pass2]@[ftp-server-2]/update/

echo "upload finished" 

mail -s "Upload" my_email@domain.com < update_logfile.txt
EN

回答 1

Stack Overflow用户

发布于 2019-10-16 08:59:06

Joesch-简单的方法是编写一个lastCheck,其时间戳为最后一次下载到一个文件文件中,并根据要上传的文件的最后修改来检查时间戳。如果teh文件更新,那么时间戳,上传它。这应该是相当简单的做法,但请让我知道,我可以为你把片段放在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58409433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档