簡體   English   中英

啟動AWS EC2實例時如何使用bash腳本運行postgres?

[英]How can I use a bash script to run postgres when launching AWS EC2 instance?

我正在測試EC2的某些設置,以運行geoserver。 啟動EC2實例時,我有一個bash腳本來加快運行速度。 但是,當它到達創建postgres db的地步時,它將失敗。 以下是腳本的摘錄,第二行之后似乎失敗了:

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 SSH到一個實例中,手動運行上面的代碼,然后從該實例中創建了一個AMI。 我仍然想知道如何為Amazon Linux使用bash腳本,該腳本也可以啟動postgres。

您不能將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 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM