我正在测试EC2的一些设置以运行geoserver。在启动EC2实例时,我有一个bash脚本来加快速度。然而,当它到达创建postgres数据库时,它失败了。下面是脚本的摘录,它似乎在第二行之后失败:
chown postgres /usr/local/pgsql/data
sudo su postgres
initdb -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data &
exit
yum install gcc make gcc-c++ libtool libxml2-devel -y
# ..... etc etc
我已经通过SSH连接到一个实例,手动运行上面的代码,然后从该实例生成AMI。我仍然想知道如何为Amazon linux创建一个bash脚本,也可以启动postgres。
答案 0 :(得分:1)
您无法在脚本中放置sudo su postgres
以使后续行由postgres用户执行。你需要写一下:
chown postgres /usr/local/pgsql/data
sudo -u postgres initdb -D /usr/local/pgsql/data
sudo -u postgres -D /usr/local/pgsql/data &
yum install ...