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;








1















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










share|improve this question
























  • 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

















1















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










share|improve this question
























  • 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













1












1








1








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










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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

















  • 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










1 Answer
1






active

oldest

votes


















0














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





share|improve this answer

























    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
    );



    );













    draft saved

    draft discarded


















    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









    0














    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





    share|improve this answer



























      0














      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





      share|improve this answer

























        0












        0








        0







        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





        share|improve this answer













        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






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jul 29 '16 at 23:11









        DavidDavid

        4762 silver badges4 bronze badges




        4762 silver badges4 bronze badges



























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos