bash wait for service to startHow to determine if a bash variable is empty?What is the difference between double and single square brackets in bash?Solaris 10: BIND 9 service fails to start as service but works when run manually“service mysqld stop” times out (then found out that “mysqld dead but subsys locked”)Time Service will not start on Windows Server - System error 1290CentOS 7: Getting interface IP numbersHow do I run TomEE as a service on RHEL6?Remote service query (sc.exe query) fails with “access is denied” for one service, but not othersCentOS 7 Service User at StartupApache upload scanner not working as intended
Why does adding parentheses prevent an error?
Why is C++ initial allocation so much larger than C's?
A player is constantly pestering me about rules, what do I do as a DM?
Why is the Turkish president's surname spelt in Russian as Эрдоган, with г?
How to perform Login Authentication at the client-side?
Why does Darth Sidious need bodyguards?
What is this opening trap called, and how should I play afterwards? How can I refute the gambit, and play if I accept it?
How well known and how commonly used was Huffman coding in 1979?
Is adding a new player (or players) a DM decision, or a group decision?
What are the penalties for overstaying in USA?
Should I tell my insurance company I'm making payments on my new car?
Why cruise at 7000' in an A319?
Intuitively, why does putting capacitors in series decrease the equivalent capacitance?
Why isn’t the tax system continuous rather than bracketed?
How can I convince my reader that I will not use a certain trope?
STM Microcontroller burns every time
Transition from ascending to descending a rope
Why would people reject a god's purely beneficial blessing?
Find smallest index that is identical to the value in an array
C-152 carb heat on before landing in hot weather?
Analog is Obtuse!
Inverse-quotes-quine
Syntax Error with 'if'
What would Earth look like at night in medieval times?
bash wait for service to start
How to determine if a bash variable is empty?What is the difference between double and single square brackets in bash?Solaris 10: BIND 9 service fails to start as service but works when run manually“service mysqld stop” times out (then found out that “mysqld dead but subsys locked”)Time Service will not start on Windows Server - System error 1290CentOS 7: Getting interface IP numbersHow do I run TomEE as a service on RHEL6?Remote service query (sc.exe query) fails with “access is denied” for one service, but not othersCentOS 7 Service User at StartupApache upload scanner not working as intended
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm having trouble with the first part of the bash script, I need to wait for server mysql to start before executing mysqadmin commands... I cannot reliable get it to work!
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
while "$(mysql -u root -e "select 1")" -ne 1; do
sleep 1
done
#
mysqladmin -u root password "$MARIA_ROOT_PASSWORD"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
#
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
fi
It is ubuntu based docker container, phusion/baseimage
bash service
add a comment |
I'm having trouble with the first part of the bash script, I need to wait for server mysql to start before executing mysqadmin commands... I cannot reliable get it to work!
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
while "$(mysql -u root -e "select 1")" -ne 1; do
sleep 1
done
#
mysqladmin -u root password "$MARIA_ROOT_PASSWORD"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
#
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
fi
It is ubuntu based docker container, phusion/baseimage
bash service
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41
add a comment |
I'm having trouble with the first part of the bash script, I need to wait for server mysql to start before executing mysqadmin commands... I cannot reliable get it to work!
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
while "$(mysql -u root -e "select 1")" -ne 1; do
sleep 1
done
#
mysqladmin -u root password "$MARIA_ROOT_PASSWORD"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
#
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
fi
It is ubuntu based docker container, phusion/baseimage
bash service
I'm having trouble with the first part of the bash script, I need to wait for server mysql to start before executing mysqadmin commands... I cannot reliable get it to work!
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
while "$(mysql -u root -e "select 1")" -ne 1; do
sleep 1
done
#
mysqladmin -u root password "$MARIA_ROOT_PASSWORD"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
#
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
fi
It is ubuntu based docker container, phusion/baseimage
bash service
bash service
edited Jul 29 '16 at 22:40
asked Jul 29 '16 at 21:43
user113400
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41
add a comment |
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41
add a comment |
1 Answer
1
active
oldest
votes
I think this will work:
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
#give up if not started in 2min
if mysqladmin --wait=120 -u root password "$MARIA_ROOT_PASSWORD"; then
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
else
echo Gave up waiting for mysqld to respond
/usr/sbin/service mysql stop
fi
fi
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f792815%2fbash-wait-for-service-to-start%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I think this will work:
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
#give up if not started in 2min
if mysqladmin --wait=120 -u root password "$MARIA_ROOT_PASSWORD"; then
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
else
echo Gave up waiting for mysqld to respond
/usr/sbin/service mysql stop
fi
fi
add a comment |
I think this will work:
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
#give up if not started in 2min
if mysqladmin --wait=120 -u root password "$MARIA_ROOT_PASSWORD"; then
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
else
echo Gave up waiting for mysqld to respond
/usr/sbin/service mysql stop
fi
fi
add a comment |
I think this will work:
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
#give up if not started in 2min
if mysqladmin --wait=120 -u root password "$MARIA_ROOT_PASSWORD"; then
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
else
echo Gave up waiting for mysqld to respond
/usr/sbin/service mysql stop
fi
fi
I think this will work:
#!/bin/bash
if [[ ! -f /var/lib/mysql/status.secured ]]; then
echo "MariaDB -> secure"
#
/usr/sbin/service mysql start
#give up if not started in 2min
if mysqladmin --wait=120 -u root password "$MARIA_ROOT_PASSWORD"; then
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "UPDATE mysql.user SET Password=PASSWORD('$MARIA_ROOT_PASSWORD') WHERE User='root'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.user WHERE User=''"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test_%'"
mysql -u root -p"$MARIA_ROOT_PASSWORD" -e "FLUSH PRIVILEGES"
touch /var/lib/mysql/status.secured
/usr/sbin/service mysql stop
while [[ "$(/usr/sbin/service mysql status)" != " * MariaDB is stopped." ]]; do
sleep 1
done
echo "MariaDB -> secured"
else
echo Gave up waiting for mysqld to respond
/usr/sbin/service mysql stop
fi
fi
answered Jul 29 '16 at 23:11
DavidDavid
4762 silver badges4 bronze badges
4762 silver badges4 bronze badges
add a comment |
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f792815%2fbash-wait-for-service-to-start%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What distro, which init system ?
– Iain
Jul 29 '16 at 22:39
@Iain I'm almost there, if not the damn syntax :) $(mysql errors out as command not found. I updated code and relevant details.
– user113400
Jul 29 '16 at 22:40
@Iain I wish I had centos, systemctl knows everything.
– user113400
Jul 29 '16 at 22:41