CLI run multiple commands and close terminal












0















I want to run the following commands and close the terminal:



mysqldump -udatabase -pdatabase database > db.sql && zip db.sql.zip db.sql && rm db.sql && mv db.sql.zip /var/www/vhosts/*/httpdocs && cd /var/www/vhosts/*/httpdocs && zip -r backup.zip . && cd && touch backup_is_ready


It works fine, when the terminal is open, but the ZIP will be about 40GB and I want to be able to close the terminal, or a disconnect can terminate the process.



So I have commands A && B



I tried



(A &) && (B &)



(A && B) &



{A && B} &



nohup sh -c "A && B"



nohup { A && B } &



and many other options, but nothing worked.



I just want to put the command string in the terminal, then close the terminal, come back after 1 hour and get it ready



I also have a longer command chain that starts with



sh <(wget -O - https://autoinstall.plesk.com/one-click-installer) && plesk bin init_conf --init -name "John Doe" -passwd "mypassword" -email "admin@example.com" -send_announce false -trial_license true -license_agreed true && plesk bin subscription --create example.com -owner admin -service-plan "Unlimited" -ip 000.000.000.000 -login username -passwd 'password' && ...


My command chains work great when the terminal is open, I only want to close it after putting the command chain in the terminal, but I don't want to create a file for it.



Is there any syntax that works without need cretae a bash file?



Thank you










share|improve this question







New contributor




GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I want to run the following commands and close the terminal:



    mysqldump -udatabase -pdatabase database > db.sql && zip db.sql.zip db.sql && rm db.sql && mv db.sql.zip /var/www/vhosts/*/httpdocs && cd /var/www/vhosts/*/httpdocs && zip -r backup.zip . && cd && touch backup_is_ready


    It works fine, when the terminal is open, but the ZIP will be about 40GB and I want to be able to close the terminal, or a disconnect can terminate the process.



    So I have commands A && B



    I tried



    (A &) && (B &)



    (A && B) &



    {A && B} &



    nohup sh -c "A && B"



    nohup { A && B } &



    and many other options, but nothing worked.



    I just want to put the command string in the terminal, then close the terminal, come back after 1 hour and get it ready



    I also have a longer command chain that starts with



    sh <(wget -O - https://autoinstall.plesk.com/one-click-installer) && plesk bin init_conf --init -name "John Doe" -passwd "mypassword" -email "admin@example.com" -send_announce false -trial_license true -license_agreed true && plesk bin subscription --create example.com -owner admin -service-plan "Unlimited" -ip 000.000.000.000 -login username -passwd 'password' && ...


    My command chains work great when the terminal is open, I only want to close it after putting the command chain in the terminal, but I don't want to create a file for it.



    Is there any syntax that works without need cretae a bash file?



    Thank you










    share|improve this question







    New contributor




    GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I want to run the following commands and close the terminal:



      mysqldump -udatabase -pdatabase database > db.sql && zip db.sql.zip db.sql && rm db.sql && mv db.sql.zip /var/www/vhosts/*/httpdocs && cd /var/www/vhosts/*/httpdocs && zip -r backup.zip . && cd && touch backup_is_ready


      It works fine, when the terminal is open, but the ZIP will be about 40GB and I want to be able to close the terminal, or a disconnect can terminate the process.



      So I have commands A && B



      I tried



      (A &) && (B &)



      (A && B) &



      {A && B} &



      nohup sh -c "A && B"



      nohup { A && B } &



      and many other options, but nothing worked.



      I just want to put the command string in the terminal, then close the terminal, come back after 1 hour and get it ready



      I also have a longer command chain that starts with



      sh <(wget -O - https://autoinstall.plesk.com/one-click-installer) && plesk bin init_conf --init -name "John Doe" -passwd "mypassword" -email "admin@example.com" -send_announce false -trial_license true -license_agreed true && plesk bin subscription --create example.com -owner admin -service-plan "Unlimited" -ip 000.000.000.000 -login username -passwd 'password' && ...


      My command chains work great when the terminal is open, I only want to close it after putting the command chain in the terminal, but I don't want to create a file for it.



      Is there any syntax that works without need cretae a bash file?



      Thank you










      share|improve this question







      New contributor




      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I want to run the following commands and close the terminal:



      mysqldump -udatabase -pdatabase database > db.sql && zip db.sql.zip db.sql && rm db.sql && mv db.sql.zip /var/www/vhosts/*/httpdocs && cd /var/www/vhosts/*/httpdocs && zip -r backup.zip . && cd && touch backup_is_ready


      It works fine, when the terminal is open, but the ZIP will be about 40GB and I want to be able to close the terminal, or a disconnect can terminate the process.



      So I have commands A && B



      I tried



      (A &) && (B &)



      (A && B) &



      {A && B} &



      nohup sh -c "A && B"



      nohup { A && B } &



      and many other options, but nothing worked.



      I just want to put the command string in the terminal, then close the terminal, come back after 1 hour and get it ready



      I also have a longer command chain that starts with



      sh <(wget -O - https://autoinstall.plesk.com/one-click-installer) && plesk bin init_conf --init -name "John Doe" -passwd "mypassword" -email "admin@example.com" -send_announce false -trial_license true -license_agreed true && plesk bin subscription --create example.com -owner admin -service-plan "Unlimited" -ip 000.000.000.000 -login username -passwd 'password' && ...


      My command chains work great when the terminal is open, I only want to close it after putting the command chain in the terminal, but I don't want to create a file for it.



      Is there any syntax that works without need cretae a bash file?



      Thank you







      linux bash command-line scripting






      share|improve this question







      New contributor




      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 29 mins ago









      GoodGuyGoodGuy

      1




      1




      New contributor




      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      GoodGuy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          0















          1. Ctrl + Z to stop (pause) the program and get back to the shell.


          2. bg to run it in the background.


          3. disown -h [job-spec] where [job-spec] is the job number (like %1 for the first running job; find about your number with the jobs command) so that the job isn't killed when the terminal closes.






          share|improve this answer








          New contributor




          Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.




























            0














            To startup a program in the background, use:



            <your command> &


            What I'd recommend is simply running what you'd like as two separate commands. Try:



            user@hostname$ A &
            user@hostname$ B &


            If this process is too arduous or needs to be run frequently, you can enter these commands into a shell script. This script can then be run with



            /path/to/my_script.sh &


            As @Justin suggested, it is possible to move a command that is already in progress to the background. Pressing the keyboard keys 'Ctrl+Z' will pause the program and then running the command bg will resume this program in the background.





            share


























            • Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

              – GoodGuy
              43 secs ago













            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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
            });


            }
            });






            GoodGuy is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f503458%2fcli-run-multiple-commands-and-close-terminal%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0















            1. Ctrl + Z to stop (pause) the program and get back to the shell.


            2. bg to run it in the background.


            3. disown -h [job-spec] where [job-spec] is the job number (like %1 for the first running job; find about your number with the jobs command) so that the job isn't killed when the terminal closes.






            share|improve this answer








            New contributor




            Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.

























              0















              1. Ctrl + Z to stop (pause) the program and get back to the shell.


              2. bg to run it in the background.


              3. disown -h [job-spec] where [job-spec] is the job number (like %1 for the first running job; find about your number with the jobs command) so that the job isn't killed when the terminal closes.






              share|improve this answer








              New contributor




              Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.























                0












                0








                0








                1. Ctrl + Z to stop (pause) the program and get back to the shell.


                2. bg to run it in the background.


                3. disown -h [job-spec] where [job-spec] is the job number (like %1 for the first running job; find about your number with the jobs command) so that the job isn't killed when the terminal closes.






                share|improve this answer








                New contributor




                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.











                1. Ctrl + Z to stop (pause) the program and get back to the shell.


                2. bg to run it in the background.


                3. disown -h [job-spec] where [job-spec] is the job number (like %1 for the first running job; find about your number with the jobs command) so that the job isn't killed when the terminal closes.







                share|improve this answer








                New contributor




                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                share|improve this answer



                share|improve this answer






                New contributor




                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                answered 23 mins ago









                JustinJustin

                1




                1




                New contributor




                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.





                New contributor





                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






                Justin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.

























                    0














                    To startup a program in the background, use:



                    <your command> &


                    What I'd recommend is simply running what you'd like as two separate commands. Try:



                    user@hostname$ A &
                    user@hostname$ B &


                    If this process is too arduous or needs to be run frequently, you can enter these commands into a shell script. This script can then be run with



                    /path/to/my_script.sh &


                    As @Justin suggested, it is possible to move a command that is already in progress to the background. Pressing the keyboard keys 'Ctrl+Z' will pause the program and then running the command bg will resume this program in the background.





                    share


























                    • Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                      – GoodGuy
                      43 secs ago


















                    0














                    To startup a program in the background, use:



                    <your command> &


                    What I'd recommend is simply running what you'd like as two separate commands. Try:



                    user@hostname$ A &
                    user@hostname$ B &


                    If this process is too arduous or needs to be run frequently, you can enter these commands into a shell script. This script can then be run with



                    /path/to/my_script.sh &


                    As @Justin suggested, it is possible to move a command that is already in progress to the background. Pressing the keyboard keys 'Ctrl+Z' will pause the program and then running the command bg will resume this program in the background.





                    share


























                    • Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                      – GoodGuy
                      43 secs ago
















                    0












                    0








                    0







                    To startup a program in the background, use:



                    <your command> &


                    What I'd recommend is simply running what you'd like as two separate commands. Try:



                    user@hostname$ A &
                    user@hostname$ B &


                    If this process is too arduous or needs to be run frequently, you can enter these commands into a shell script. This script can then be run with



                    /path/to/my_script.sh &


                    As @Justin suggested, it is possible to move a command that is already in progress to the background. Pressing the keyboard keys 'Ctrl+Z' will pause the program and then running the command bg will resume this program in the background.





                    share















                    To startup a program in the background, use:



                    <your command> &


                    What I'd recommend is simply running what you'd like as two separate commands. Try:



                    user@hostname$ A &
                    user@hostname$ B &


                    If this process is too arduous or needs to be run frequently, you can enter these commands into a shell script. This script can then be run with



                    /path/to/my_script.sh &


                    As @Justin suggested, it is possible to move a command that is already in progress to the background. Pressing the keyboard keys 'Ctrl+Z' will pause the program and then running the command bg will resume this program in the background.






                    share













                    share


                    share








                    edited 12 secs ago

























                    answered 7 mins ago









                    CrypteyaCrypteya

                    38917




                    38917













                    • Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                      – GoodGuy
                      43 secs ago





















                    • Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                      – GoodGuy
                      43 secs ago



















                    Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                    – GoodGuy
                    43 secs ago







                    Unfortunally it only affects the currently running command, so when A runs, B doesn't start when terminal is closed. <command1 && command2> & returns syntax error

                    – GoodGuy
                    43 secs ago












                    GoodGuy is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    GoodGuy is a new contributor. Be nice, and check out our Code of Conduct.













                    GoodGuy is a new contributor. Be nice, and check out our Code of Conduct.












                    GoodGuy is a new contributor. Be nice, and check out our Code of Conduct.
















                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • 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%2funix.stackexchange.com%2fquestions%2f503458%2fcli-run-multiple-commands-and-close-terminal%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

                    Loup dans la culture

                    How to solve the problem of ntp “Unable to contact time server” from KDE?

                    ASUS Zenbook UX433/UX333 — Configure Touchpad-embedded numpad on Linux