【发布时间】:2021-05-20 07:34:23
【问题描述】:
这里是新手。我一直在寻找解决方案,但似乎找不到。
来自我的 crontab 的错误日志:
/Users/harrold/bin/ftp_automate.sh: line 14: ftp: command not found
我制作了一个名为ftp_automate.sh 的脚本,将文件从我的本地文件夹发送到我的ftp 服务器。 脚本在终端(zsh) 中使用% sh ftp_automate.sh。这是脚本:
#!/bin/bash
# FTP server details here
SERVER="ftp.DUMMYSITE.com"
USERNAME="DUMMYUSER"
PASSWORD="DUMMYPASS"
# local directory containing source backup file
SOURCEFILES="/Users/harrold/Desktop/FOLDER/ftp-test"
# remote server directory path in which backup needs to be put in
BACKUPDIRCTORY="/folder/subfolder"
# login to remote server
ftp -n -i $SERVER <<EOF
user $USERNAME $PASSWORD
cd $BACKUPDIRCTORY
bin
lcd $SOURCEFILES
mput *
quit
EOF
但是,我希望它使用 crontab 来工作,所以它每分钟都能完成这项工作。这就是我使用% crontab -e 的方式:
* * * * * /Users/harrold/bin/ftp_automate.sh >> /Users/harrold/bin/logs/ftp.log 2>&1
知道为什么我收到 ftp command not found 错误吗?
顺便说一下,我的脚本放在/Users/harrold/bin里面。
【问题讨论】:
-
ftp在你的$PATH中吗? -
@HKT : 当它是一个 bash 脚本时,为什么要标记为 zsh?
-
@Mureinik 我在执行的任何步骤中都没有使用 $PATH 变量。我应该把它放在某个地方吗?抱歉还是新手。
-
另外,请注意 cron-overrun。 (每分钟一次非常频繁)
-
非常感谢@MartinPrikryl,您是救生员!终于了解如何处理 $PATH 并且该链接提供了我在脚本中需要的一些其他详细信息。 Cron 作业现在可以工作了!
标签: bash macos terminal cron ftp