我是Ubuntu和编程的新手。我正在测试我在github上找到的一个程序,下载并导入OSM数据到postgis。当我从终端运行它时,它可以工作(url和名称是假的):
make all NAME=dbname URL='http://myurl'
字符集
使用postgres用户。
现在我需要每天运行这个命令。所以我写了这个脚本:
#!/bin/bash
# go to the directory with Makefile
cd /PCuserhome/directory/to/Makefile/
# run Makefile
make all NAME=dbname URL='http://myurl'
型
当我从终端运行它的时候,它就工作了。
因此,我将其添加到crontab(postgres用户)中:
0,15,30,45 * * * * /PCuserhome/myscript.sh
型
它创建了数据库,但可能在运行渗透选择失败(渗透是在所有用户的路径)。任何想法来解决这个问题?谢谢!
1条答案
按热度按时间isr3a4wc1#
crontab命令仅在最小环境变量(即,
PATH=/usr/bin:/bin
(无论如何在debian上),因此,如果你依赖的程序是在你的
$PATH
,它会失败。考虑指定一个绝对路径到osmosis程序,无论它是从哪里调用。或者,您可以在脚本中更改
$PATH
本身字符集
p.s.:你可以通过添加一个简单的cron作业来检查环境
型