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

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company