我目前有一个bash脚本,其唯一的工作是每天登录FTP服务器并下载文件。部分文件名是一年中的一天(DOY)。所以我得到当前日期并使用select count(*) from myTable where myColumn is null;
选项获取DOY。以下是我的代码片段:
%j
当此脚本运行时,它不仅会获取当前DOY的文件,还会获取之前的所有文件。因此,如果今天是DOY 260,它将获得从0到260的所有文件。我只想要260.我的其余bash脚本是来自以下网站的模型:Automatic/periodic FTP download using cron jobs。我做错了什么?
编辑:@redneb请求的完整脚本
doy=$(date +%j)
mget filename_$doy*
编辑2:@Cyrus的回答有效。这是我最后的工作脚本,以防其他人需要帮助。在登录FTP服务器之前,需要输入bash命令。谢谢!
#!/bin/bash
HOST='ftp.server' # change the ipaddress accordingly
USER='user' # username also change
PASSWD='pass' # password also change
ftp -inv $HOST<<EOF
quote USER $USER
quote PASS $PASSWD
bin
cd /filedirectory/
doy=$(date +%j)
mget filename_$doy*
bye
EOF
答案 0 :(得分:1)
移动
doy=$(date +%j)
到
之前的一行ftp -inv $HOST<<EOF