Bash命令手动运行,但不在Crontab中运行



在CentOS 7.2服务器上,以下命令手动成功运行-

scp usrname@storage-server:/share/Data/homes/AWS/2301KM-$(date +"%Y-%m-%d").csv /home/vyv/data/AWS/ 2>&1 >> /home/vyv/data/AWS/scp-log.txt

该命令只需从远程服务器上的目录中获取文件名中包含当前日期的文件,并将其存储到本地服务器上的一个目录中,然后打印出同一目录中的日志文件。

设置了公钥身份验证,因此手动运行时不会提示输入密码。

我在crontab中配置了它,在每小时结束后运行3分钟,格式如下-

3 * * * * scp usrname@storage-server:/share/Data/homes/AWS/2301KM-$(date +"%Y-%m-%d").csv /home/vyv/data/AWS/ 2>&1 >> /home/vyv/data/AWS/scp-log.txt

然而,我耐心等待,没有看到任何文件被自动下载。

我已经检查了/var/log/cron日志,并看到了一个像这样的条目-

Feb 9 17:30:01 intranet CROND[9380]: (wzw) CMD (scp usrname@storage-server:/share/Data/homes/AWS/2301KM-$(date +")

crontab中还有其他类似的作业集,它们可以完美地工作。

有人能就为什么这不起作用提供建议/线索吗?

感恩地,拉凯什。

在crontab:中使用scp(或任何其他二进制文件(的完整路径

3 * * * * /usr/bin/scp usrname@storage-server:/share/Data/homes/AWS/2301KM-$(date +"%Y-%m-%d").csv /home/vyv/data/AWS/ 2>&1 >> /home/vyv/data/AWS/scp-log.txt

最新更新