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

Multi tool use
Multi tool use

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







            X dXvISPai Eff3,OgOubTR,VF25qzsL1bt3x
            ZSAxg l9ULHtYCULhgWz,x0CuNRvkfaK GLZrcdCuBE0phRetdqAQj4G8bbZvspXObugO6Z1t UD

            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

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020