add function to create a default pgsql db. (is not activated currently)

This commit is contained in:
creme 2020-01-15 13:19:18 +01:00
parent 563bdd2e89
commit 7bb065f8c6
Signed by: creme
GPG Key ID: C147C3B7FBDF08D0
1 changed files with 32 additions and 23 deletions

View File

@ -22,30 +22,37 @@ head_def="$head_mime\r\n$head_type"
### ###
add_user_db() { add_user_mysql_db() {
mysql -u root << EOF mysql -u root << EOM
CREATE DATABASE $user; CREATE DATABASE $user ;
GRANT ALL PRIVILEGES ON $user.* TO '$user'@'localhost' IDENTIFIED BY '$newpw'; GRANT ALL PRIVILEGES ON '$user'.* TO '$user'@'localhost' IDENTIFIED BY '$newpw' ;
FLUSH PRIVILEGES; FLUSH PRIVILEGES ;
EOF EOM
} }
del_user_db() { del_user_mysql_db() {
printf '\nbackup mysqldump by user %s?\n' "$user" mysql -u root << EOM
select yn in "Yes" "No"; do DROP DATABASE $user ;
case $yn in DROP USER $user@localhost ;
Yes) FLUSH PRIVILEGES ;
mysqldump -u root "$user" > /tmp/"$user".sql EOM
mv /tmp/"$user".sql /root/mysql_dumps/"$user".sql }
break ;;
No) break ;;
esac ; done
mysql -u root << EOF
DROP DATABASE $user; add_user_pgsql_db() {
DROP USER $user@localhost; sudo -u postgres psql <<EOM
FLUSH PRIVILEGES; CREATE USER $user WITH PASSWORD '$newpw' ;
EOF CREATE DATABASE $user ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $user ;
GRANT ALL PRIVILEGES ON DATABASE $user to $user ;
EOM
}
del_user_pgsql_db() {
sudo -u postgres psql <<EOM
DROP DATABASE $user ;
DROP OWNED BY $user ;
DROP USER $user ;
EOM
} }
@ -74,7 +81,8 @@ add_user() {
chown -R "$user":"$short_dom" /home/"$user"/.ssh chown -R "$user":"$short_dom" /home/"$user"/.ssh
# setup database # setup database
add_user_db add_user_mysql_db
#add_user_pgsql_db
# setup email mailbox # setup email mailbox
lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts create \ lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts create \
@ -143,7 +151,8 @@ del_user() {
mail_userid=$(lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts list -p search=$user@$domain | jq '.[] | .pk'") mail_userid=$(lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts list -p search=$user@$domain | jq '.[] | .pk'")
lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts delete -p id=$mail_userid" lxc-attach -n mail -- bash -c "/usr/local/bin/coreapi action accounts delete -p id=$mail_userid"
# remove database # remove database
del_user_db del_user_mysql_db
#del_user_pgsql_db
# unlink gemini # unlink gemini
[ -L /var/gemini/\~"$user" ] && unlink /var/gemini/\~"$user" [ -L /var/gemini/\~"$user" ] && unlink /var/gemini/\~"$user"
# remove znc account # remove znc account