![](/img/trans.png)
[英]How can I automate entering input for a command in a bash script that runs on AWS EC2 launch?
[英]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.