我每天都运行这三个命令:
cd /Users/xxx/code
heroku pgbackups:capture --expire
curl -o latest.dump `heroku pgbackups:url`
所以我想我会尝试将它移到一个cron作业中,所以我创建了一个名为/ Users / xxx / code / backup_script的文件,其中包含以下内容:
cd /Users/xxx/code
heroku pgbackups:capture --expire
curl -o latest.dump `heroku pgbackups:url`
但是,当我运行./backup_script时,它会出现此错误:
./backup_script
./backup_script: line 2: heroku: command not found
./backup_script: line 3: heroku: command not found
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
我是一名unix新手 - 有人可以帮我弄清楚如何解决上面的脚本吗?
答案 0 :(得分:4)
cronjob的环境变量会从您的登录中显着减少;你想为你的crontab设置$ PATH。
例如:
PATH=$HOME/bin:$PATH
@daily $HOME/backup_script
您可能希望运行which heroku
来确定需要添加的路径。
答案 1 :(得分:0)
尝试添加一个shebang告诉它再次使用bourne shell(bash):
#!/bin/bash
cd /Users/xxx/code
heroku pgbackups:capture --expire
curl -o latest.dump `heroku pgbackups:url`
heroku的完整路径可能有所帮助。
如果您在这里没有运气,您还可以尝试Unix/Linux堆栈交换站点: